1.所有动作都继承与Action基类
2.动作分为瞬时动作和有限时间动作ActionInterval
3.Node中的runAction函数中会将动作执行者和动作添加到动作管理者ActionMgr中,并且移除isdone为true的动作。
4.ActionMgr中的update会遍历执行每个动作的step函数。
5.如果是非瞬时动作,step会执行ActionInterval的step函数,来统计消逝时间,计算消逝时间所占总时间的比例,然后调用虚函数update触发具体动作的update,具体动作的update会执行自己的动作逻辑。
6.如果是瞬时动作,那么会把时间比例设置为1,并把isdone改为true,然后再执行瞬时动作的Execute来执行具体的逻辑