javascript - Phaser.io 加载时的 JSON 回调

标签 javascript json callback phaser-framework

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

function preload() {
    game.load.json('units', 'units.json');
    game.load.spritesheet('archer', 'assets/archer.png', 8, 8);
    setupUnitTextures();
}

我需要的是一种回调方法,因此当加载 JSON 时,它会通过调用 setupUnitTextures() 函数来加载纹理。有什么办法可以做到这一点吗?

最佳答案

我的建议(我认为这也是 Phaser 开发的一般建议)是有另一个状态来预加载稍后需要的任何资源,然后您将预加载。

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

或者,您可能想查看Phaser's asset pack example作为从 JSON 文件加载大量资源的替代方法。

关于javascript - Phaser.io 加载时的 JSON 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36401371/

相关文章:

javascript - 文字不出现在按钮上

javascript - 覆盖 Meteor 的默认登录处理程序

mysql - 如何在 jOOQ for MySQL 8 中实现 JSON_SET()

javascript - 接受函数作为 jQuery 插件变量并返回参数

android - 使 Android NFC onTagDiscovered 回调线程保持 Activity 状态

javascript - NodeJS URL 路由和渲染 HTML

javascript - 垂直菜单/导航自动滚动

c# - fastJson反序列化未处理的异常

c# - 如何使用 C# 将 JSon 数组发送到远程 asmx web 服务?

java - 之间的回调方法