diff --git a/examples/pong/pong.js b/examples/pong/pong.js index 5cf0750..7e646e9 100644 --- a/examples/pong/pong.js +++ b/examples/pong/pong.js @@ -110,6 +110,8 @@ window.onload = function () { } }; + + pong.start(); diff --git a/src/classes/game.js b/src/classes/game.js index f86c450..12b3cf2 100644 --- a/src/classes/game.js +++ b/src/classes/game.js @@ -101,6 +101,17 @@ class Game extends Entity { } + step (delta) { + + this.lastFrameDelta = delta; + this.frameCounter++; + + this._updateEntity(); + this._renderEntity(); + + } + + start () { var self = this; // NK: Hate doing this...better way plz? @@ -130,24 +141,17 @@ class Game extends Entity { 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) { return; } - self._updateEntity.bind(self); - self._updateEntity(); + let currentTimestamp = +(new Date()), + delta = currentTimestamp - self._lastFrameTimestamp; - self._renderEntity.bind(self); - self._renderEntity(); + delta = Math.min(delta, 1000 / self.desiredFps); + self._lastFrameTimestamp = currentTimestamp; + + self.step(delta); requestFrame(loop);