cocos2dx动作框架分析

cocos2dx提供了丰富的动作实现的类。其中最主要的两个类是 CCAction和 CCActionManager,CCAction是所有动作的基类,类中有几个很重要的方法:
	virtual void startWithTarget(CCNode *pTarget); //设置动作的目标
	virtual void stop(void);  //停止动作
 	virtual void step(float dt); //心跳,每一帧都会掉到,后面会介绍是怎么调用这个方法的
	virtual void update(float time); //更新动作,由step()调用
CCActionManager管理所有的动作;主要方法有:
	void addAction(CCAction *pAction, CCNode *pTarget, bool paused); 
这个方法会把一个CCAction对象交给CCActionManager管理,里面具体是用一个hashmap存起来的,
而CCActionManager在CCDirector中会被当做一个singleton使用,
    // CCDirector action manager
    m_pActionManager = new CCActionManager();
    m_pScheduler->scheduleUpdateForTarget(m_pActionManager, kCCPrioritySystem, false);
每一帧都会去update;
	简单来做,就是CCDirector::drawScene() -> CCSchedule::update() -> CCActionManager::update() -> 
CCAction::step() -> CCAction::update();
	下面介绍CCAction的分类架构:
(1)CCFiniteTimeAction : public CCAction: 表示这是一个线性的动画,新加了setDuration()//间隔和reverse()方法;
(2)CCActionInterval : public CCFiniteTimeAction:这是一个延时动画,主要重写了step()方法;
(3)CCActionInstant : public CCFiniteTimeAction : 这是一个即时动画,主要重写tep()和update()方法;
(4)CCShow........一系列具体动作实现类,主要重写update后,在这个方法中进行具体操作。







													
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值