Cocos2d-x CCActionInterval

来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:12 点击:
第一部分:CCActionInterval家族(持续动作) p> 

p>持续动作,顾名思义,就是该动作的执行将持续一段时间。因此持续动作的静态生成函数,往往附带一个时间值Duration。例如:

p>CCActionInterval *moveByAction=CCMoveBy::actionWithDuration(0.5f,ccp(5,5)); 

p> 

p>持续动作类名后缀:一般有两种后缀,一种是To,一种是By。To表示最终达到的目标值,By表示增量值。如:

p>CCMoveBy::actionWithDuration(0.5f,ccp(5,5));//表示花0.5秒,按向量(5,5)移动一段距离 

p>CCMoveTo::actionWithDuration(0.5f,ccp(5,5));//表示花0.5秒,移动到坐标(5,5) 

p> 

p>持续动作比立即动作的数量要多很多,常用的CCActionInterval子类动作有:

p> 

p>简单的:

p>CCMoveTo:移动到、CCMoveBy:按……移动

p>CCJumpTo:跳跃到、CCJumpBy:按……跳跃

p>CCBezierTo:贝兹移动到、CCBezierBy:按……贝兹移动

p>CCRotateTo:旋转到、CCRotateBy:按……旋转

p>CCScaleTo:缩放到、CCScaleBy:按……缩放

p>CCSkewTo:切变到、CCSkewBy:按……切变

p>CCTintTo:颜色渐变到、CCTintBy:按……颜色渐变

p>CCFadeIn:从无到有,也叫淡入、CCFadeOut:从有到无,也叫淡出、CCFadeTo:改变不透明度到某个值

p>CCBlink:闪耀

p>CCDelayTime:延时

p> 

p>复杂的:

p>CCAnimate:帧动画,这个我们在第四节讲过,关于动画的问题不是一句两句就能说完,以后会慢慢展开

p>CCGridAction家族:网格动画

p>包装器:CCRepeat:重复执行几次、CCRepeatForever:永远执行、CCSequence:按序列执行、CCSpawn:同时执行、CCActionEase家族:补间动画

p> 

p> 

p>第二部分:简单的持续动作

p> 

p>这些动作都非常简单,和立即动作的区别只是增加了一个执行时间而已。但还有一些要注意的地方:

p> 

p>1.旋转动作顺时针是正方向

p>2.关于贝兹曲线

p>贝兹曲线的描述结构体如下:

p>/** @typedef bezier configuration structure 

p> */ 

p>typedef struct _ccBezierConfig { 

p>            //! end position of the bezier 

p>            CCPoint endPosition; 

p>            //! Bezier control point 1 

p>            CCPoint controlPoint_1; 

p>            //! Bezier control point 2 

p>            CCPoint controlPoint_2; 

p>} ccBezierConfig; 

p> 

p>如果执行节点是this的话,那么对应个点的位置如图。

p> 

p>注意,当使用CCBezierTo时,ccBezierConfig的点都是绝对坐标点。但如果使用CCBezierBy,ccBezierConfig的点都是相对坐标点。这点要谨记。

p> 

p> 

p>第三部分:一些包装器

p> 

p>这些动作单独无法起作用,需要包装其他动作类才行。他们的作用是对于动作的执行,增加一些变化。非常类似于装饰者模式。

p> 

p>1.CCRepeat:用于重复执行几次动作,times表示执行次数

p>static CCRepeat *   CCRepeat::actionWithAction (CCFiniteTimeAction *pAction, unsigned int times) 

p>使用举例:在我的炸弹人例子中,用到如下写法,我播放一个炸弹动画若干次,然后启动爆炸的相关代码。
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 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