单击按钮更改setTimeout的延迟

我正在用HTML画布创建3D旋转立方体。我的代码看起来像这样

IssuerSigningKey

此处dacc是减速度因数,它会减慢旋转速度。我需要创建按钮摩擦力,这将使减速度进一步减慢x倍。在setTimeout仍在进行中时,如何更改减加速度系数?我尝试使用onclick函数更新dacc的值,但这不起作用。还是有其他方法可以调用上面的函数来解决这个问题?

感谢您的帮助。

a334965556 回答:单击按钮更改setTimeout的延迟

请勿使用计时器更改速度。设备的显示速率固定为每秒60帧。您应该与此速率同步制作动画。使用requestAnimationFrame(rAF)

下面的代码使用rAF每60秒更新一次动画。

  • String是每帧旋转多少
  • 每帧速度降低rotateSpeed中的数量。如果低于最小值dacc,旋转停止;
  • 点击事件可以通过更改minSpeed来更改减速率
  • 当转速低于minSpeed时,rAF将停止。
  • 开始动画调用dacc

使用的值只是您的代码中的一个估计值。您将必须使用这些值来使动画看起来像您想要的样子。

startRotateAnim();
本文链接:https://www.f2er.com/3140114.html

大家都在问