HTML5ゲームを製作中なのですが、制限時間のカウントダウンがなぜか1秒よりも少し遅くなってしまいます。
原因がわかる方、どうかご提示よろしくお願いいたします。
javascript
1var FPS = 60; 2var gameFrame = 0; 3var startTime = 0; 4var delta = 0; 5var lastTimeStamp = 0; 6var frameTime = 1 / FPS; 7var limitTime = 0; 8function mainLoop() { //メインループ処理 9 var t = new Date().getTime(); 10 if (lastTimeStamp > 0) { 11 delta = (t - lastTimeStamp) / 1000; 12 } 13 lastTimeStamp = t; 14 gameFrame++; 15 if (delta <= frameTime) { 16 requestAnimationFrame(mainLoop); 17 return; 18 } 19 20 timeLimit(); 21 22 requestAnimationFrame(function() { 23 mainLoop(); 24 }); 25} 26 27function timeLimit() { 28 var timing = 1000 / 1000 * FPS; 29 if(limitTime >= 0 && gameFrame % timing === 0){ 30 limitTime--; 31 } 32}
回答1件
あなたの回答
tips
プレビュー