HIHGame 0.1架构设计(Animations)

Harmony.Game P1

Animation

  这个类定义了一个动画类必须实现的功能,像是一个动画类的模版。有个小细节是为什么没有Pause和Resume,先用Speed = 0.0f,Speed = 1.0f好了。

Frame FrameDef

  帧动画就是每间隔一段时间改变纹理上的绘制区域形成的动画。因为同时可能会有多个同样的帧动画的实例在播放,如果是同一个帧动画的话它的动画数据就是相同的,所以我们把帧动画的动画数据提出单独做一个类,让多个同样的帧动画对象只使用同一份动画数据。

RotateX/Y/Z Scale Fade…

  这些类继承自Animation分别作用于Sprite的RotateX/Y/Z、ScaleX/Y、Alpha等等的属性。可以通过缓动函数来改变这些属性的变化过程。

EaseFunction In_Out_Cubic Out_Elastic…

  各种缓动函数各自实现EaseFunction的Func()方法并在EaseFunction中放上自己静态只读的实例,然后各种动画需要缓动函数的时候,直接通过EaseFunction类名引用已有的实例就可以了。

Sequence Parallel

  各是一组动画的序列,Sequence是先后执行的动画序列,Parallel是同时执行的动画序列。因为也是Animation类的派生,所以也可以把这个动画序列组当成单个动画来使用。用它们做各种嵌套也是没问题的(这样在设计模式里叫Composit)。

本文写于2011年3月24日

标题目录