andengine中的IModifier

看完了EntityModifierExample,总结一下IModifier。
1、IModifier的作用
  IModifier是针对各种控件作变换用的接口。它使用策略模式将各控件的变换算法抽象出来。
2、IModifier的实现体系
  IModifier接口定义了最基本的方法。
  IEntityModifier是IModifier接口针对IEntity继承。
  IBackgroundModifier是IModifier接口针对IBackground的继承。
  这两个接口将所有Modifier分成以下两类,
  ・一类实现IEntityModifier接口,作用于Entity
  ・一类实现IBackgroundModifier接口,作用于Background。
    用于Background的Modifier只有四种,一种是实际执行变换的ColorModifier,其他三种都是管理Modifier用的,有LoopBackgroundModifier、ParallelBackgroundModifier、SequenceBackgroundModifier。

  用于Entity的Modify也分为两大类:
  ・一类用于管理:有LoopEntityModifier、ParallelEntityModifier、SequenceEntityModifier
  ・一类用于实际的变换:
    ・ColorModifier:颜色变换
    ・MoveModifier:移动
    ・MoveXModifier:延X轴移动
    ・MoveYModifier:延Y轴移动
    ・ScaleModifier:缩放
    ・ScaleAtModifier:定下中心点缩放
    ・RototionByModifier:旋转(给定速度和时间)
    ・RotationModifier:旋转(给定范围和时间)
      ・RotationAtModifier:定下中心点旋转(给定范围和时间)
    ・AlphaModifier:透明度
      ・FadeInModifier:渐变消失
      ・FadeOutModifier:渐变出现
    ・PathModifier:给定路径移动

  其实这些Modifier根据他们的父类还可以分成几种,按照时间的、按照范围的、按照速度的、变换一个值的、两个值的、三个值的。分的非常漂亮。

下面来张全家福

andengine中的IModifier_第1张图片


3、看了EaseFunctionExample,发向andengine中竟然提供了这么多EaseFunction类。这些EaseFunction主要是决定如何分配Modifier中的变量的变化速度。等以后用到的时候再来仔细看里面的算法。


你可能感兴趣的:(算法)