Cocos2d-x CCActionInterval(2)
来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:12 点击:次
	   
	
	  
	  
	  
p>CCFiniteTimeAction *action=getAnimate();//获得炸弹播放动画,自己实现的函数                 
p>CCAction *sequneceAction = CCSequence::actions( 
p>            CCRepeat::actionWithAction(action,5), 
p>            CCCallFunc::actionWithTarget(this, callfunc_selector(Bomb::deadOnCallback)), 
p>            NULL); 
p>sprite->runAction(sequneceAction); 
p> 
p> 
p>2.CCRepeatForever:永远执行一个动作
p>static CCRepeatForever *    CCRepeatForever ::actionWithAction (CCActionInterval *pAction) 
p> 使用举例:比如,一个精灵我只会改变他的位置,但是不需要改变他的动画,那么我就可以使用这个来保持这个动画一直运行,我在炸弹人的Monster类中使用了类似代码:
p>CCActionInterval *action=getAnimate();//获得炸弹播放动画,自己实现的函数    
p>spirte->runAction(CCRepeatForever::actionWithAction(action)); 
p> 
p>3.CCSequence:按序列执行动作,这会让节点连续执行几个动作。
p>static CCFiniteTimeAction *     CCSequence::actions (CCFiniteTimeAction *pAction1,...) 
p>使用举例:这个例子经常使用的时候,就是执行一个动作,然后回调。比如主角行走一个格子后,切换为站立状态。我在炸弹人的Hero类中使用了这种方法:
p>CCAction *sequneceAction = CCSequence::actions(moveByAction,CCCallFunc::actionWithTarget(this, callfunc_selector(Hero::moveDoneCallback)),NULL); 
p>            this->runAction(sequneceAction); 
p>注意最后要使用NULL结尾。表示传参结束。我不明白为什么非要强制加NULL,按道理说C++不定参数表,可以不用NULL的。看源代码才发现,里面用到了真值判断刷循环。我不知道这是为了和ObjectiveC语法保持一致还是为什么,我并不熟悉Objc。
p>CCFiniteTimeAction* CCSequence::actions(CCFiniteTimeAction *pAction1, ...) 
p>{ 
p>            va_list params; 
p>            va_start(params, pAction1); 
p> 
p>            CCFiniteTimeAction *pNow; 
p>            CCFiniteTimeAction *pPrev = pAction1; 
p> 
p>            while (pAction1) 
p>            { 
p>                        pNow = va_arg(params, CCFiniteTimeAction*); 
p>                        if (pNow) 
p>                        { 
p>                                    pPrev = actionOneTwo(pPrev, pNow); 
p>                        } 
p>                        else 
	
	
        
        
        
	
        相关新闻>>
最新推荐更多>>>
              
          - 发表评论
- 
				
- 最新评论 进入详细评论页>>

![cocos2d_x+lua[2]](/uploads/allimg/131030/110J64609-0-lp.jpg)








