From 914b2aa5dd6ac53bafa70b034e7f6c02d1b75994 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Fri, 20 Jul 2018 19:19:24 +0200 Subject: [PATCH] Examples - Wire up Update Slider --- lib/game/LoopExample.dart | 4 ++++ lib/src/04-FixedLoopVariableRender.dart | 4 ++-- lib/src/05_DirtyFlagRendering.dart | 4 ++-- web/main.dart | 6 ++++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/game/LoopExample.dart b/lib/game/LoopExample.dart index e547a8b..cf00224 100644 --- a/lib/game/LoopExample.dart +++ b/lib/game/LoopExample.dart @@ -5,4 +5,8 @@ abstract class LoopExample{ void stop() {} void start() {} +} + +abstract class VariableUpdates { + double MS_PER_UPDATE = 300.0; } \ No newline at end of file diff --git a/lib/src/04-FixedLoopVariableRender.dart b/lib/src/04-FixedLoopVariableRender.dart index 5c8d6a4..3df27bf 100644 --- a/lib/src/04-FixedLoopVariableRender.dart +++ b/lib/src/04-FixedLoopVariableRender.dart @@ -3,8 +3,8 @@ import 'dart:html'; import 'package:browserloop/game/Game.dart'; import 'package:browserloop/game/LoopExample.dart'; -class FixedLoopVariableRender implements LoopExample { - static final double MS_PER_UPDATE = 1000.0; +class FixedLoopVariableRender implements LoopExample, VariableUpdates { + double MS_PER_UPDATE = 1000.0; static final double SAFE_GUARD = 500.0; Stopwatch elapsed = new Stopwatch(); double lag = 0.0; diff --git a/lib/src/05_DirtyFlagRendering.dart b/lib/src/05_DirtyFlagRendering.dart index b233c80..48072b6 100644 --- a/lib/src/05_DirtyFlagRendering.dart +++ b/lib/src/05_DirtyFlagRendering.dart @@ -3,8 +3,8 @@ import 'dart:html'; import 'package:browserloop/game/Game.dart'; import 'package:browserloop/game/LoopExample.dart'; -class DirtyFlagRender implements LoopExample { - static final double MS_PER_UPDATE = 1000.0; +class DirtyFlagRender implements LoopExample, VariableUpdates { + double MS_PER_UPDATE = 1000.0; static final double SAFE_GUARD = 500.0; Stopwatch elapsed = new Stopwatch(); double lag = 0.0; diff --git a/web/main.dart b/web/main.dart index 21580bb..7225473 100644 --- a/web/main.dart +++ b/web/main.dart @@ -130,7 +130,9 @@ void addControls(Example ex) { // Don't add controls which don't work anyways (for simple examples) if(examples.indexOf(ex) <= 1) return; + VariableUpdates loop = (ex.loop as VariableUpdates); + // Update Speed Slider group ..append(new LabelElement() ..htmlFor = "update_speed" @@ -138,11 +140,11 @@ void addControls(Example ex) { ..append(new InputElement(type: "range") ..id = "update_speed" ..min = "1" - ..max = "20" + ..max = "50" ..value = "3" ..step = "1" ..onInput.listen((Event e) { - ex.loop; + loop.MS_PER_UPDATE = (1000 / int.parse((e.target as InputElement).value)); })); // querySelector('#reset').onClick.listen((e) => ex.loop.game.reset()); // querySelector('#plus').onClick.listen((e) => _changeGrid(-5));