keyPressed
'esc' を押してイベントが 27の場合、一度console.log("ESCY");
に var の数だけ出力されます。loopcnt
loopcnt = 0;
var fps = 22;
var interval = 1000 / fps;
function draw()
{
setTimeout(function()
{
if (willAnimate)
{
window.requestAnimationFrame(draw);
console.log("Framecnt: "+ loopcnt);
loopcnt++;
}
IndexJSON.each(function(key, value){ IndexOBJECT[key].render(); });
$(window).delegate('body', 'keydown', function(event){
keyPressed = event.which;
if (keyPressed == 27)
{
willAnimate = false;
console.log("ESCY");
}
});
}, interval);
};
willAnimate = true;
draw();
私に言わせれば、それは論理的な意味をなさない...
ステートメントが trueconsole.log
になるまで、すべての s をバッファリングしているかのようです。if
なぜこれが起こるのか分かりますか?
(そして別の質問: で関数をキャンセルしようとしましたが、setTimeout
関数をreturn
終了しません。おそらくreturn
、if ステートメントからのみ返されるためですが、関数を外部で終了する方法はありますか?)