我正在做一個小遊戲,當我遇到這個問題時,我正在製作一個角色死亡序列。Javascript代碼執行暫停問題
eloop(setInterval(e_seq,100)
播放結束順序。之後,我想在執行之前停止一秒,然後再顯示樂譜和內容。 但是我正在使用的當前睡眠方法會暫停整個執行過程,包括循環,而我希望在暫停遊戲一秒之前完成循環。
其中睡眠被稱爲地點:(主gameloop內)
eloop=setInterval(e_seq,100);
sleep(1000);
睡眠方法:
function sleep(msec)
{
var time= new Date().getTime();
while(time+msec>= new Date().getTime())
{}
}
任何解決方案?
PS:調用sleep在gameloop結束(內部的,如果條件檢查)被暫停執行之前gameloop開始出於某種原因....
例如,您應該閱讀一些關於'setTimeout'的文檔,例如[this one](https://developer.mozilla.org/en-US/docs/Web/API/Window.setTimeout)。 – Biduleohm
查看'window.requestAnimationFrame',這是一個非常高效的動畫循環。它會爲每個循環發送一個時間值,以便對死亡順序進行細粒度控制。您可以使用該時間值計算可用於開始暫停 - 重新開始動畫的已用時間。 – markE