var fps = 30;
var drawInterval;
imageSprite.addEventListener('load',init,false);
function init() {
drawBg();
startDrawing();
}
function draw() {
clearJet();
drawJet();
}
function startDrawing() {
stopDrawing();
drawInterval = setInterval(draw,1000/fps);
}
function stopDrawing() {
clearInterval(drawInterval);
}
Может кто-нибудь объяснить, почему мы выполняем функцию stopDrawing() перед drawInetrval и как этот код будет выполнен.SetInterval и clearInterval описание
означает, что функция 'startDrawing()' вызывается несколько раз или что refrence запускает 'setInterval (draw, 1000/fps)' несколько раз? и если именно поэтому мы используем функцию «stopDrawing()», а не после того, как этот интервал был запущен. – Unknown5566
'startDrawing' вызывается каждый раз, когда' imageSprite' заканчивает загрузку своего содержимого. если вы вызываете 'stopDrawing' после запуска интервала, вы просто прекратите его немедленно - это не то, что вы хотите. вызывая 'stopDrawing' до фактического начала интервала, означает, что если интервал уже был запущен, он останавливается, а новый запускается после миллисекунд 1000/fps (и поскольку он является интервалом, он будет непрерывно запускать каждый' 1000/fps' Миз. – fusio