【发布时间】:2017-12-16 02:01:28
【问题描述】:
我正在尝试将动态创建的图像从 JSON 文件加载到我的移相器项目中。 数组中的对象都有键“name”,对应的值为“box”+number
我正在像这样将它们加载到预加载器中:
var j = 0;
for (i in boxArray){
game.load.image(boxArray[j].name, 'collCreatorAssets/boxes/'+boxArray[j].name+'.png');
j++;
}
并尝试像这样在我的代码中使用它们:
j = 0;
for (i in boxArray){
var newBox = boxes.create(boxArray[j].xPos, boxArray[j].yPos, boxArray[j].name);
newBox.body.immovable = true;
newBox.destructable = boxArray[j].destructable;
j++;
}
将数组记录到控制台,我没有得到令人惊讶的坏消息。包含对象的数组工作正常。
这并不奇怪,因为我从 xPos 和 yPos 获得的位置分别与数组中对象内的相应值进行了检查。从而在游戏中正确放置图像对象。它只是没有加载图像。
在预加载功能中加载图像时,也可以在服务器上找到图像,我得到的唯一错误是启动游戏时:
Phaser.Cache.getImage: Key "box0" not found in Cache.
create函数的参数是
sprite.create(x,y,'key');
而load.image函数的参数是
game.load.image('key', 'path');
我已经测试过在预加载器中手动加载图像并使用循环在游戏中创建精灵,它可以工作。
所以我可以将问题缩小到预加载器,但我看不出我缺少什么。
【问题讨论】:
标签: javascript phaser-framework