理论部分
Action类也是cocos核心基础类之一,在游戏中起着非常重要的作用,继承自Ref,被 FiniteTimeAction(有限时间动作), Follow , 以及 Speed 继承。
有限时间动作可以划分成:
即时动作(ActionInstant),即时动作只能够立刻完成的动作,这类动作是在下一帧立刻完成的动作,如设定位置、设定缩放等。把它们包装成动作后,可以与其他动作类组合为复杂动作。
持续动作(ActionInterval),在规定的时间内,执行完成对象属性,位置,特效,序列动作串动作。
代码部分
virtual Action * clone () const
返回一个克隆的动作。
实例:
auto jump1 = JumpBy::create(2,Vec2::ZERO,100,3); auto jump2 = jump1->clone();
virtual Action * reverse () const
返回一个新的动作,执行与原动作完全相反的动作。
实例:
auto actionBy = MoveBy::create(2, Vec3(80, 80, -100)); auto actionByBack = actionBy->reverse();
virtual bool isDone () const
如果动作已经完成就返回true。
virtual void startWithTarget (Node *target)
在动作开始之前调用,它还将设置target属性为目标节点。
Node * getTarget () const
返回当前目标节点。
void setTarget (Node *target)
修改目标节点属性的设置函数。
int getTag () const
返回一个用于识别动作的标签。
void setTag (int tag)
更改标签,用于识别动作。
unsigned int getFlags () const
获取动作设置的标识
void setFlags (unsigned int flags)
给动作设置一个标识