phaser.js - 循环加载图像导致 "Key not found in cache"
phaser.js - loading images in loop results in "Key not found in cache"
我正在尝试将动态创建的图像从 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');
我已经测试过在预加载器中手动加载图像并使用循环在游戏中创建精灵并且它有效。
所以我可以将问题缩小到预加载器,但我没有看到我遗漏了什么。
发现问题。我是个白痴。
循环在请求获取 JSON 文件的成功函数之外。
我正在尝试将动态创建的图像从 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');
我已经测试过在预加载器中手动加载图像并使用循环在游戏中创建精灵并且它有效。
所以我可以将问题缩小到预加载器,但我没有看到我遗漏了什么。
发现问题。我是个白痴。
循环在请求获取 JSON 文件的成功函数之外。