startGame: function() { var drawPos = utils.iso(_transitionOffset.x,_transitionOffset.y,0); ViewPort.setPosByPlayerPosition(drawPos); this.view.beginGameRender(); this.gameReady = false; proxy.addObject("gameReady",false); //Start the game loop requestAnimFrame(this.gameLoop); },
gameLoop: function(t) { window.DEBUG = false; //set clock and delta since last frame var dt = t - _currentTime; _currentTime = t; updateFPS(dt); if(!self.gameReady) { if(!self.transitioned) { var drawPos = utils.iso(_transitionOffset.x,_transitionOffset.y,0); ViewPort.setPosByPlayerPosition(drawPos); if(_transitionOffset.x < self.player.pos.x) _transitionOffset.x += 3; if(_transitionOffset.y < self.player.pos.y) _transitionOffset.y += 3; if(_transitionOffset.x >= self.player.pos.x && _transitionOffset.y >= self.player.pos.y) self.initCountdown(); } else { self.updateCountdown(dt); } } if(paused) { requestAnimFrame(self.gameLoop); return; } if(self.gameReady) self.updateTimer(dt); //Update all game entities self.update(dt); //Update the draw order self.updateDrawOrder(); //Draw the game self.draw(); if(setSlowTick) { requestAnimFrame(self.slowTick); return; } //fire next loop requestAnimFrame(self.gameLoop); //setTimeout(function(){ self.gameLoop(+new Date); }, 100); },