跳转至

60 帧运行 (自定义帧率)

自定义帧率(每秒帧数)决定了脚本每秒运行的次数。通常将其设置为 60 帧每秒,但也可以设置在 1 到 250 之间的任何值。

一些知识

我们一般将每秒运行所有代码次数的频率称为逻辑帧(Logical Frame),这个帧率通常被称为“逻辑帧率”(TPS, Tick Per Second)。而我们将渲染出来的画面称为“物理帧”(Physical Frame),这个帧率通常被称为“物理帧率”(FPS, Frame Per Second)。

设置自定义帧率为 0 时,作品将按照屏幕的帧率运行(也就是垂直同步),而非按照固定的速度运行。这同样意味着当作品的浏览器标签被隐藏时,作品的脚本可能会停止运行。

绝大多数作品都无法在自定义帧率下正常运行。对于这类作品,应当采用插值技术来替代。例如,下面这个简单的脚本:

When flag clicked, forever move 1 step

当以 30 帧每秒的帧率运行(Scratch 默认的运行速度)时,此脚本每秒会运行 30 次,因此角色每秒会移动 30 步。然而,如果帧率改为 60,该脚本每秒将运行 60 次,因此角色在一秒内会移动两倍的步数。

若要制作与自定义帧率相兼容的作品,您应当采用诸如“时间差(Δt)”这样的技术:

  • https://en.wikipedia.org/wiki/Delta_timing
  • https://scratch.mit.edu/projects/487694716/ (Scratch 示例)

请注意,使用这些技术可能会对您的作品产生重大影响,需要进行相应的调整。