有人可以解释一下如何在不更改 setTimeout 的情况下更改我的英雄动画。我的意思是如何让英雄动画比所有画布慢。通过动画,我的意思是改变框架
function draw() {
if (hero.ready){
ctx.clearRect (0 , 0, 500 , 500 );
ctx.shadowColor = "rgba( 0, 0, 0, 0.1 )";
ctx.shadowOffsetX = 15;
ctx.shadowOffsetY = -10;
ctx.drawImage(image[hero.image],hero.frames * hero.sizeX, 0, hero.sizeX, hero.sizeY, hero.posX, hero.posY, hero.sizeX, hero.sizeY);
}
hero.frames++;
if (hero.frames >= 2) hero.frames = 0;
setTimeout( draw, 1000 / 5 );
}
JSFIDDLE完整示例。