何とか私の研究をして、JavaScriptがシングルスレッドであることが分かった! 私は、JavaScriptを使ってfor loop
でアニメーションを作る方法を解明しようとしてきました。オブジェクトを描画するときのJavaScript forループの問題
これまで私が行ってきたことです。 JavaScriptを使用してキャンバスにオブジェクトを描画しようとしています。ループを実行すると、ステップバイステップでは実行されません。ループを実行して10回ではなく1回描画し、タイムアウト機能を無視します。
は、単一のインスタンスでは、(P/Sを描いた私は私はcontext.clearRect(0, 0, context.canvas.width, context.canvas.height);
を除去し、それをテストした複数バージョンの原因無視:
JS:
// down button click
down.onclick = function() {
if (!imgLoaded) return;
flag=false;
setTimeout(function() {
for(var i = 0; i < 15 ; i++) {
posY += 10;
context.drawImage(img, posX, posY);
}}, 9);
// call next step
setIntervalには運がありません:( – FreedomPride
あなたのコードでsettimeoutをsetIntervalに置き換えた方が、うまく動作しません(15回の繰り返しが9msごとに繰り返されます)。setTimeout setInterval documentationとWindow.requestAnimationFrame exemplesを読んでください。 –