自己寫了個貪吃蛇,但是清除定時器的時候有點問題
//?繪制每一幀function?act()?{????if(d)?{????????direction?=?d;????}????//?進行碰撞檢測,如果沒碰到返回true????if(snake.move(direction))?{????????drawBackground();????????snake.draw();????????food.draw();????}?else?{????????//?撞到了,游戲結束????????gameover();????}}function?start()?{????act();????timer?=?setTimeout(start,?interval);}pause.addEventListener("click",?function()?{????if(pause.innerHTML?===?"暫停")?{????????pause.innerHTML?=?"繼續";????????clearTimeout(timer);????????window.alert("游戲暫停");????}?else?{????????pause.innerHTML?=?"暫停";????????start();????}})function?gameover()?{????clearTimeout(timer);????window.alert("游戲失?。?);????init();}
pause正常工作,按下暫停按鈕蛇就不動了。但是假如是撞墻觸發了gameover()的話,界面會回到初始狀態,但是定時器好像沒有被清除,蛇會繼續運動。
這是為啥?
2019-11-27
完整代碼呢?能借鑒下嗎?
2021-08-19
不會吧 你學完前邊這些就寫出來了游戲嗎