Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Js canvas drawimage setinterval

Байкер ‮‮‮йиксмайам Гуру (4117), на голосовании 1 год назад
 let inside = setInterval(() => { 
ctx.drawImage(bull,bas.x,bas.y)
world.push(bull)


if ((bas.x + bull.width >= agent.x) && (bas.x <= agent.x + agentImg.width) && (bas.y + bull.height >= agent.y) && (bas.y
<= agent.y + agentImg.height)){


let av = document.querySelector("#fail")
av.play()
agent.y += 300
agentImg.src = "agent_dead.png"
return

}
bas.x+=10


return
}, 3000);
Почему drawImage не работает в интервале? всё происходит но картинка не рисуется
Голосование за лучший ответ
Яков Гото Искусственный Интеллект (321006) 1 год назад
Что-то я не понял, какая именно картинка. Первая, которая bull, может не рисоваться из-за задержки загрузки (нужна проверка на onload)... а вторая, как я понял agentImg, вообще не была преобразована в объект канваса... плюс у нее тоже отсутствует проверка на загрузку (что правда в интервале роли не играет).
Байкер ‮‮‮йиксмайамГуру (4117) 1 год назад
речь про ту, которая bull. это отрывок кода, поэтому agentImg прорисовывается выше, однако проверки на загрузку нет, но вроде и так работает
Яков Гото Искусственный Интеллект (321006) Значит ошибка где-то в коде самой картинки/заполнителя. Потому что конкретно setInterval на это не может повлиять. И более того, благодаря интервалу можно не париться насчет onload.
df df Ученик (60) 1 год назад
bull = new Image();
bull.src = 'src';
у тебя так переменная создается или как?
Похожие вопросы