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学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1