我试图基于angle属性获得一个简单的随机“旋转”,并希望实现以下目标。
我在此链接上提出了我要实现的基本概念: https://www.pixiplayground.com/#/edit/yalRPEN~6tg3seIHq5hbI
在动画函数中,如果我让let度= 2000;作为Math.Random值,它会好像似乎多次调用此动画函数一样使动画搞砸了?
此外,我尝试使用speed属性,该属性会以较高的值开始,并随着“旋转”而降低,但似乎无济于事?还尝试使用animationSpeed,因为我正在使用angle属性更改度数,但看不到速度差。
任何反馈将不胜感激。
谢谢
答案 0 :(得分:3)
一种方法是更改角度而不是速度。像这样:
var angleStep = 40;
let rotateSpeed = Math.floor(Math.random() * 300)
function animate() {
bunny.angle += angleStep;
angleStep = angleStep - angleStep/rotateSpeed;
if ((angleStep.toFixed(1) <= 0.0)) {
console.log("stopped rotation")
bunny.angle = bunny.angle;
return bunny.angle;
} else {
requestAnimationFrame(animate);
}
}