我建议您看一下一些现有动画引擎的设计,例如:
- 时序框架
- 三叉戟
- 通用补间引擎和使用补间引擎的AurelienRibon /滑动布局。
通常,这些引擎倾向于做一个中央“时钟”,该时钟以固定的间隔计时。然后,它们提供回调功能,以通知相关方“滴答声”已发生。
然后,他们在此概念的基础上提供了一系列层,以使其更易于交互,例如提供动画的时间范围,以时间百分比表示(而不是物理时间度量),可用于计算变化的一部分。
还提供插值功能,使您可以在整个时间周期内影响动画的速度(例如慢进,快出效果)。
这种方法减少了必须
Timer运行多个s 的开销,这可能会随着时间的流逝而降低性能,同时提供分离模型,因此每个“动画”都是它自己的实体。
就我个人而言,我会评估每个人,然后看看哪个最能满足您的需求并与之一起运行,但是如果您真的想自己做,则它们为构思和设计提供了一个很好的起点。



