Phrogz によって回答されたこの素晴らしいスクリプトhereの上に構築しようとしています。
問題は、すべての画像がブラウザにキャッシュされるまでアニメーションが再生されないことです。したがって、最初のロードでは再生されません。リロード時のみ。
私がこれをしようとしているポイントは、アニメーションを自動再生するための代替ソリューションを提供しようとしているということです。その機能は iOS ブラウザーでは機能しないためです。
私が使用しているコードは次のとおりです。
function draw() {
var imgNumber = 1;
var lastImgNumber = 121;
var ctx = canvas.getContext('2d');
var img = new Image;
img.onload = function(){
ctx.clearRect( 0, 0, ctx.canvas.width, ctx.canvas.height );
ctx.drawImage( img, 0, 0 );
};
var timer = setInterval( function(){
if (imgNumber>lastImgNumber){
clearInterval( timer );
}
else{
img.src = "jpg_80/t5_"+( imgNumber++ )+".jpg";
}
}, 1000/24 ); //Draw at 24 frames per second
}
bodyタグの終了前にこれを追加しようとしました:
window.onload = draw;
ただし、コードは draw() 関数内で変更する必要があると思います。setInterval関数のどこかに?