Tick事件在不同设备上保持同步处理的方式

Tick事件是保证每帧处理执行事件,这个事件对于一些固定目标执行非常方便,但是会导致一个非常致命的问题,Tick事件触发并不是以时间来触发,而是以每个设备的帧数来触发,而且尽量保证最快速显示更新,所以,在速度快的设备上,触发时间更短

那么问题来了 怎么样才能保证每台设备上的Tick事件都能保证一样的执行效率

Tick有Delta Seconds接口,这个接口值表示,从上一次触发Tick到这次触发Tick的时间

也就是如果我们要规定移动距离在不同设备上都保持固定时,那么作为移动距离的数值与该Delta Seconds的值相乘

如果在快速的设备上,触发间隔短。所以Delta Seconds值小,将该值相乘的结果作为移动距离使用的话,那么在快速的设备上移动的就短,在慢速设备移动距离就长,结果就是平均一定时间内的移动距离,与设备速度无关,保持基本一定
下边是写了一个鼠标控制移动的小demo 可以参考
处理前Tick事件在不同设备上保持同步处理的方式
处理后Tick事件在不同设备上保持同步处理的方式