p5.js loadImage();返回 null,错误"SCRIPT5007:SCRIPT5007:无法获取未定义或 null 引用的属性"x"



我目前正在重新编码一个游戏,我的渲染引擎有问题。 我认为问题出在我的文件路径中,因为旧的(和相同的编码)版本工作得很好。

我尝试将程序移动到另一个磁盘,更改名称,包括完整文件路径,包括相对文件路径,我试图将输出放入调试控制台,这只会使控制台崩溃。 我还设置了一个检查,确保程序在其值为 null 时不显示磁贴,但这只是使其不执行任何操作。

这是纹理的文件路径: D:\programs\HTML5_JavaScript\mipmap\assets\textures\tileSetSand

这是我当前用于纹理导入器的代码:

tileSetSand=[];
players=[];
function setup(){
for(i=0;i<115;i++){
print(i);
tileSetSand[i]=loadImage('D:/programs/HTML5_JavaScript/mipmap/assets/textures/tileSetSand/tile ('+i+').PNG');
}
for(i=0;i<2;i++){
players[i]=loadImage('D:/programs/HTML5_JavaScript/mipmap/assets/textures/player ('+i+').PNG');
}
}

这是旧的、功能正常的代码

function setup() {
tileSetSand=[];
for(i=0;i<117;i++){
tileSetSand[i]=loadImage('D:/maart/Documents/Processing/mipmap_local/assets/sprite ('+i+').PNG');
}
//loading all the images and sprites into an array
createCanvas(1000,1000);
}

这是我使用图像的地方(this.texture是3)

display : function(){
if(tileSetSand[this.texture]!=null){
image(tileSetSand[this.texture],this.xPos,this.yPos,20,20);
}
},

预期的输出是此函数将this.texture指定的图像绘制到xPos,yPos的画布中。 但是,事实并非如此。 我不知道为什么。

看来我在项目的其他地方使用了另一个 setup() 函数,这导致这里的 setup() 不起作用。 当我将变量调用器放入我的 setup() 中时,我发现了这一点,这导致这些变量变为 null,因为它们没有被正确调用。

最新更新