2017-04-06 66 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