Phaserのhtml 5ゲームエンジンで動作するいくつかのゲームコードを見つけました。以下の例のコード例を理解するPhaserゲームコード
があるvar game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update });
function preload() {
game.load.image('someKey','someUrl');
}
function create() {
}
function update() {
}
私は関数宣言を参照して画像を追加することにより、ゲームオブジェクトに位相器が機能に渡して達成することが可能である方法を把握しようとしている(、プリロードを作成、および更新)よ、例えば、変数名「ゲーム」を介してオブジェクトに送信する。上記の例は、私が一般的にWeb(あるいは少なくとも類似したもの)について見たものです。
以下、私はフェイザーを模倣し、そのプロセスを理解するために自分自身のゲームエンジン(楽しみのため)に取り組み始めました。残念ながら、私は正常に上記の効果を達成することはできません。
マイEngine.js(フェイザー模倣ファイル)
function Game(holderId,canvasOptions,functionDeclarations){
this.test="testing";
functionDeclarations.init();//this does not work :(because game in init() is undefined.
}
マイMain.js
var game= new Game("canvas-holder",{width:1500,height:600, unit:"px"},{init:init,core:core,update:update});
function init(){
console.log(game.test);//game is undefined. Seems like a scope issue
}
私は、これはスコープの問題で感知します。私はフェイザーのソースコードを見てみましたが、それには97k行が含まれていて、Ctrl + Fは役に立たなかったのです。
私はどの例も他のhtmlファイルでは動作しません。 –