#javascript #p5.js #loadimage
#javascript #p5.js #loadimage
Вопрос:
В настоящее время я перекодирую игру, и у меня возникли проблемы с механизмом рендеринга. я думаю, что проблема в моих путях к файлам, потому что старая (и идентично закодированная) версия работает просто отлично.
Я попытался переместить программу на другой диск, изменив имя, включая полный путь к файлу, включая относительный путь к файлу, и я попытался поместить выходные данные в консоль отладки, что привело только к сбою консоли. Я также настроил проверку, которая гарантирует, что программа не отображает плитку, когда ее значение равно null, но это просто делает так, что она ничего не делает.
это путь к файлу для текстур: D:programsHTML5_JavaScriptmipmapassetstexturestileSetSand
это мой текущий код для импортера текстур:
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.
Однако это не так.
я понятия не имею, почему.
Комментарии:
1.
Unable to get property 'x' of undefined or null reference
это означает, что где-то у вас есть объект, и вы пытаетесь получить доступ кx
его свойству, но объект равен нулю или не определен. Есть ли другая часть вашего кода, к которой вы пытаетесь получить доступx
?2. Я думаю, что функция LoadImage () вызывает эту проблему, поскольку она пытается получить доступ к свойствам изображения внутри пути к файлу, но возвращает null (кроме того, она выдает эту ошибку примерно два раза в секунду)
3. попробуйте изменить
/
на\
4. кажется, что он просто ничего не находит по указанному пути к файлу, потому что точно такой же код отлично работает для старой версии. (вы имеете в виду правильный путь к файлу?)
5. Вы пытаетесь это сделать на сервере или локальном сервере? LoadImage не работает в локальной среде. Это немного отличается от обработки (с помощью которой был собран ваш старый проект?). Дополнительную информацию можно найти здесь p5js.org/examples/image-load-and-display-image.html
Ответ №1:
Похоже, что я использовал другую функцию setup () в другом месте проекта, и это привело к тому, что setup () здесь не работал. Я обнаружил это, когда поместил вызывающие переменные в свою setup (), что привело к тому, что эти переменные стали null, поскольку они не вызывались должным образом.