Проблемы с Canvas

Я делаю некоторые тесты с HTML5 Canvas. Я пытаюсь нарисовать массив изображений на холсте, используя цикл for:

var blocks=["dirt","cactus","carvedSandstone","crackedStoneBrick","diamondOre","furnace","goldOre","grass","lapisOre","leaves","log1","sand","stone","stoneBrick","stoneMoss","woodOak"];
 for(var i;i<=blocks.length;i++){
  var id=document.getElementById(blocks[i]);
  var x=i*32;
  var y=0;
    if(x>=1000){
      y+=32;
   }
   ctx.drawImage(block,x,y);

Приведенный выше код представляет собой массив различных изображений, которые я хочу нарисовать, после чего следует цикл for, который (теоретически) должен рисовать каждый элемент в массиве со значением X = к числу раз, которое прошел for *32, Инструкция if только для того, чтобы создать новую строку после превышения ширины. Для всех намерений и целей, холст настроен правильно. Если приведенный выше код удален и заменен следующим кодом, предназначенное изображение рисуется правильно.

dirt=document.getElementById("dirt");
ctx.drawImage(dirt,0,0);

Если у меня есть неопределенность, если у вас есть вопросы, пожалуйста, дайте мне знать.

Полный код

1 ответ

var id=document.getElementById(blocks[i]); должно быть var block=document.getElementById(blocks[i]);нет?

Другие вопросы по тегам