Я пишу предварительный загрузчик изображений для моего проекта html5, и у меня возникла проблема.Изображения, используемые в игре, определяются с помощью графического объекта в JavaScript следующим образом:
images = new Array();
images[0] = new Image();
images[0].src = '/images/tiles/grass.png';
Как только запускается функция предварительного загрузчика «document.ready», как показано ниже.
function preLoader(){
while(loaded != images.length){
var loaded = 0;
for(var loadTest = 0; loadTest < images.length; loadTest++){
if(images[loadTest].complete){
loaded ++;
}
}
console.log(loaded);
}
console.log("loaded all");
}
Проблема в том, что цикл никогда не заканчивается, потому что images [loadTest] .complete всегда возвращает false.Я протестировал запуск функции через несколько секунд после загрузки страницы, когда изображение вызывающе загружено, и оно работает просто отлично.
В связи с этим я предполагаю, что выполнение цикла while препятствует загрузке изображений,Если это правда, как бы я решил эту проблему?