2017-04-06 13 views
0

スプライトを表示しようとしています。スプライトは表示されません

HTMLファイル:

<head> 
    <script src="https://github.com/photonstorm/phaser-ce/releases/download/v2.7.5/phaser.min.js"></script> 
</head> 
<body> 
    <div id="game"></div> 
    <script src="main.js"></script> 
</body> 

main.js

(() => { 
    var preload =() => { 
     Game.load.image("player", "assets/player.png"); 
    }, 

    create =() => { 
     Game.add.sprite(225, 450, "player"); 
    }, 

    update =() => { 

    }, 

    Game = new Phaser.Game(500, 500, Phaser.AUTO, "game", 
     { 
      preload : "preload", 
      create : "create", 
      update : "update" 
     } 
    ); 
})(); 

スプライトがちょうど示されていない、だけで完全な黒の背景があります。 Firefox開発者コンソールにTypeError: this.onPreloadCallback.call is not a functionと表示されています。

答えて

0

var Gameを定義するときは、前に定義した関数を正しく指さなければなりません。

(() => { 
    var preload =() => { 
     Game.load.image("player", "assets/player.png"); 
    }, 

    create =() => { 
     Game.add.sprite(225, 450, "player"); 
    }, 

    update =() => { 

    }; 

    var Game = new Phaser.Game(500, 500, Phaser.AUTO, "game", 
    { 
     preload : preload, 
     create : create, 
     update : update 
    }); 
})(); 

と同等です:

(() => { 
    var Game = new Phaser.Game(500, 500, Phaser.AUTO, "game", 
    { 
     preload :() => { 
      Game.load.image("player", "assets/player.png"); 
     }, 
     create :() => { 
      Game.add.sprite(225, 450, "player"); 
     }, 
     update :() => {} 
    }); 
})(); 
+0

それはすべての後にかなり明白でした。ありがとう。 – Algorythmis

関連する問題