Speed Follow都是直接继承了Action。
Speed对其他action进行包装,改变action的速度。
Follow可用于node在scene中的运动,scene将node作为Follow的对象,实现node向前,scene向后的效果。
1. Speed
create(ActionInterval* action, float speed)方法中,speed是对帧间隔dt的修改,2为两倍dt,即action运行时间为原来一半,0.5为原来时间两倍。
Speed的step方法调用action的step方法,action的参数为dt*_speed,实现了速度的修改。
2. Follow
可用于node在scene中的运动,scene将node作为Follow的对象,实现node向前,scene向后的效果。
create(Node *followedNode, const Rect& rect/* = Rect::ZERO*/)方法如果设置Rect,被Follow的node在该范围运行时,运行Follow的node再去Follow。
如果没有设置范围,Follow的step方法执行:
_target->setPosition(_halfScreenSize - _followedNode->getPosition());