PixiJS随机旋转和下降速度

时间:2019-07-10 07:43:28

标签: javascript pixijs

我试图基于angle属性获得一个简单的随机“旋转”,并希望实现以下目标。

  • 随机旋转,说“旋转”到500度
  • 以高速度开始,并且在接近“旋转”度时,降低“旋转”速度,以免立即停止。

我在此链接上提出了我要实现的基本概念: https://www.pixiplayground.com/#/edit/yalRPEN~6tg3seIHq5hbI

在动画函数中,如果我让let度= 2000;作为Math.Random值,它会好像似乎多次调用此动画函数一样使动画搞砸了?

此外,我尝试使用speed属性,该属性会以较高的值开始,并随着“旋转”而降低,但似乎无济于事?还尝试使用animationSpeed,因为我正在使用angle属性更改度数,但看不到速度差。

任何反馈将不胜感激。

谢谢

1 个答案:

答案 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);
    }
}