加载时Phaser.io JSON回调

时间:2016-04-04 11:28:27

标签: javascript json callback phaser-framework

我正在创建一个游戏,我将单位数据存储在JSON文件units.json中,我将其加载到(...)函数的游戏中。我还有一个名为preload()的函数,它通过JSON中的列表并加载所有单元。问题是,我在调用此函数时遇到错误,因为JSON尚未加载。这是preload()函数:

setupUnitTextures()

我需要的是一种回调方式,因此当加载JSON时,它会通过调用function preload() { game.load.json('units', 'units.json'); game.load.spritesheet('archer', 'assets/archer.png', 8, 8); setupUnitTextures(); } 函数来加载纹理。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

我的建议,我认为也是Phaser开发的一般建议,就是建立另一个状态,预先加载所需的资产,然后再预加载。

在某些模板中,这可能意味着具有引导状态,然后是 Preloader 状态。这通常是生成加载条的方式。

或者,您可能希望将Phaser's asset pack example视为从JSON文件加载大量资产的替代方法。

答案 1 :(得分:0)

您可以使用onLoadComplete事件:

game.load.onLoadComplete.add(setupUnitTextures, this);