动画帧
概念
定义
动画帧: 界面中的最小时间单位。1秒=60帧。
帧刷新: 脚本中,每帧都会update刷新一次,这种过程称为帧刷新。
帧数(FPS): 在游戏过程中,并不是每秒真的会完美刷新60次,每秒实际的刷新的帧数称为FPS。
动画帧
1)动画帧与FPS
游戏运行基于动画帧,每帧对 当前界面 进行一次计算,变化游戏内的图形,1秒计算60次。
在游戏中按F2可以看到当前游戏 帧数(FPS)。![]() |
2)动画帧与界面
如果当前处于菜单界面,则战斗界面、地图界面都不做任何计算。因此这些界面处于暂停状态。
3)动画帧与游戏时间
游戏时间分为两种,一种是游戏内时间,一种是真实时间。
真实时间是根据计算机系统时间来决定的,与动画帧没有关系。
(可以参见脚本SceneManager._currentTime的定义。)
4)动画帧与变速齿轮
变速齿轮的原理,在于游戏请求时,系统每次都给一个欺骗的时间。
游戏1秒需要计算60次,即每1/60秒执行一次计算。
如果系统每1/30秒给游戏一次时间,则游戏变成了2秒才能计算60次。
游戏里的1秒 = 现实的2秒。所以游戏速度变慢了。
(这里的 变速齿轮插件 只改变动画帧计算时间,不会影响 真实时间 的统计。)
5)动画帧与并行事件
并行事件的所有动作,如果没有设置等待帧,那么将默认视为1秒执行60次。
如果设置了大量无意义的并行事件,会严重拖慢游戏速度。
因此,当你建立一个并行事件时,请务必优先考虑添加等待帧。
不等待 = 1秒执行60次;
等待1帧 = 1秒执行30次;
等待2帧 = 1秒执行20次;
等待3帧 = 1秒执行15次;
公式为: 计算次数 = 60/ ( 等待帧 + 1 )
公共事件中,也要注意并行事件的设置。
自动执行 与 并行事件 的不同,自动执行会 阻塞 其他事件的指令执行。
如果出现了bug或者死循环,你会一直动不了,有助于发现指令问题。
而并行事件没有明显的问题提示,但会拖慢游戏速度,所以需要时刻注意。
贡献者
暂无相关贡献者
页面历史
暂无最近变更历史