LoCEngine.prototype.runGame = function() {
// Initiate our game loop
ctx.clearRect(0, 0, 800, 600);
this.drawScene(this.curScene);
if(this.gameRunning) {
window.setTimeout(Engine.runGame, 1000 / this.framerate);
}
}
LoCEngineは、HTML5Canvasゲームの詳細を学ぶために私が構築してきた実験的なエンジンです。私がゲームループにぶつかるまで、これまでのところ楽しい時間を過ごしました。runGameは時間の経過とともに呼び出され、Canvasをクリアして、drawScene関数を呼び出します。
LoCEngineインスタンスは変数Engineに保存されます(setTimeoutでそれを使用することがベストプラクティスであるかどうかはわかりません...アドバイスしてください)
最初のフレームに対してthis.drawSceneが正しく呼び出されますが、タイムアウト(30 FPS)時に、次のような例外がスローされます。
TypeError: this.drawScene is not a function
理由はよくわかりません...これは、私が遭遇したことのないJSに関するものだと確信しています。前もって感謝します。