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);
}
任何人都可以解釋爲什麼我們要在drawInetrval之前執行stopDrawing()函數,以及這段代碼如何執行。SetInterval和clearInterval解釋
是否意味着多次調用'startDrawing()'函數,或者多次引用'setInterval(draw,1000/fps)'?如果這是爲什麼我們首先使用'stopDrawing()'函數,而不是在間隔被觸發之後。 – Unknown5566
每次'imageSprite'完成加載其內容時,都會調用'startDrawing'。如果在開始間隔後調用'stopDrawing',則只需立即停止 - 這不是您想要的。在實際開始間隔之前調用'stopDrawing'意味着如果間隔已經運行,它會被停止,並且一個新的在'1000/fps'毫秒後開始(並且由於它是一個間隔,它會持續激發每個「1000/fps」女士。 – fusio