Seperated out stepper from start function, allows manual stepping of world

This commit is contained in:
Nathan Kunicki 2015-12-23 17:32:44 +00:00
parent f9d0dba07a
commit e2ad337f75
2 changed files with 19 additions and 13 deletions

View File

@ -110,6 +110,8 @@ window.onload = function () {
} }
}; };
pong.start(); pong.start();

View File

@ -101,6 +101,17 @@ class Game extends Entity {
} }
step (delta) {
this.lastFrameDelta = delta;
this.frameCounter++;
this._updateEntity();
this._renderEntity();
}
start () { start () {
var self = this; // NK: Hate doing this...better way plz? var self = this; // NK: Hate doing this...better way plz?
@ -130,24 +141,17 @@ class Game extends Entity {
var loop = function () { var loop = function () {
self.frameCounter++;
let currentTimestamp = +(new Date());
self.lastFrameDelta = currentTimestamp - self._lastFrameTimestamp;
self._lastFrameTimestamp = currentTimestamp;
self.lastFrameDelta = Math.min(self.lastFrameDelta, 1000 / self.desiredFps);
if (self._wantPause) { if (self._wantPause) {
return; return;
} }
self._updateEntity.bind(self); let currentTimestamp = +(new Date()),
self._updateEntity(); delta = currentTimestamp - self._lastFrameTimestamp;
self._renderEntity.bind(self); delta = Math.min(delta, 1000 / self.desiredFps);
self._renderEntity(); self._lastFrameTimestamp = currentTimestamp;
self.step(delta);
requestFrame(loop); requestFrame(loop);