cocos2d的常用动作及效果总结之二:Composition actions

转载 2012年03月26日 16:33:52

                              cocos2d的常用动作及效果总结之二:Composition actions

   以下文字内容转载自:http://hi.baidu.com/flwblog/blog/item/2e672ec7415782c1d0006054.html    感谢原作者。

   

上一篇整理了 basice action  基本动作的部分,这一篇接着讲 composition actions -复合动作的部分。在实际编程中,这部分是跑不掉的,几乎每一个都是必用的。

CCSequence 

sequence是用来按顺序执行一系列的动作,即动作按排列的顺序一个接一个的执行,示例如下:

id action1 = [CCMoveTo actionWithDuration:2 position:ccp(100,100)];
id action2 = [CCMoveBy actionWithDuration:2  position: ccp(80,80)];
id action3 = [CCMoveBy actionWithDuration:2  position: ccp(0,80)];
[sprite runAction: [CCSequence actions:action1, action2, action3, nil]];

上面这段代码的意思是,sprite(精灵对象)先移动到坐标(100,100)位置,然后在向右上方移动(80,80),然后,再向右移动80(80,0)。这一系列动作是不重叠,一个接一个的执行的。

注意的是,在这些动作中不能有 CCRepeatForever 这种无限的动作(就是不停的一直持续的动作),必须是那种可以在有限的时间内完成的。

CCSpawn

这个与上面的 CCSequence 不同的是,排列的动作是同时执行的,执行的时间以子动作中的最长的时间为准。代码示例:

id action = [CCSpawn actions:
		[CCJumpBy actionWithDuration:2 position:ccp(300,0) height:50 jumps:4],
		[CCRotateBy actionWithDuration: 2 angle: 720],
		nil];
 
[sprite runAction:action];

上面这段代码的意思是,sprite 在两秒钟内,向右跳四次,总共跳跃距离是300,跳跃高度是50,在跳跃过程中 同时旋转720度。

CCRepeat 

这个是用来重复一个动作有限的次数。当然,你也可以用CCSequence来实现同样的功能,只是那样看起来有点傻。示例:

id a1 = [CCMoveBy actionWithDuration:1 position:ccp(150,0)];
id action1 = [CCRepeat actionWithAction:
		[CCSequence actions: [CCPlace actionWithPosition:ccp(60,60)], a1, nil]
		times:3];
[sprite runAction:action1];

上面这段代码的意思是,先将sprite 放置在(60,60)位置,然后一秒内向右移动150的距离。这两个动作重复3次。

CCRepeatForever  

上面的是重复有限次数,这个是无限次重复,比如,你想让一个轮子不停的旋转,就可以用这个实现。示例:

CCRotateBy* rotate = [CCRotateBy actionWithDuration:1.0f angle:360];
CCRepeatForever* action2 = [CCRepeatForever actionWithAction:rotate];
[sprite runAction:action2];

就像上面讲的这段代码会让这个 sprite 一直不停的 以每秒360度的转速永远的旋转下去。

通过上面这四种类,可以方便的组合出许多复杂的运动,就看你的想象力了。

相关文章推荐

cocos2d的常用动作及效果总结之二:Composition actions

上一篇整理了 basice action  基本动作的部分,这一篇接着讲 composition actions -复合动作的部分。在实际编程中,这部分是跑不掉的,几乎每一个都是必用的。 CCSeq...
  • trandy
  • trandy
  • 2012年08月03日 15:45
  • 401

cocos2d的常用动作及效果总结之一: Basic actions

cocos2d的常用动作及效果总结之一:Basic actions       以下文本转载自:http://hi.baidu.com/flwblog/blog/item/769c219b716d2...

《Cocos2d学习之路》五,粒子效果,Actions,以及中文显示问题的解决

转载请说明出处:http://blog.csdn.net/lsmfeixiang/article/details/42331321 github地址:https://github.com/teffy/...

Cocos2D常用动作(Action)

显示事件(Show): CCShow show= new CCShow(); sprite.runAction(show); 隐藏事件(Hide): CCHide hide = new CCHi...

cocos2d-x学习笔记(7)--动作(Actions)

cocos2d-x学习笔记(7)--动作(Actions) 本文出自http://www.wenbanana.com稻草人博客,欢迎访问!        动作在cocos2d-x中可以说是精华...

cocos2d-x 提升篇 (16) actions动作讲解

总共加起来有53个测试用例,那就按照它的序号来吧。 基本上所有的子类都实现父类的虚函数onEnter进行具体的操作,所以要改代码的话也是改这一块。 1. ActionMove void Action...
  • WAN_EXE
  • WAN_EXE
  • 2017年04月01日 20:03
  • 109

iPhone开发之游戏篇(2) --- cocos2d的Actions

ActionsAction就好像给一个cocosNode对象的命令。这些动作通常用来改变物体的属性,例如位置,旋转,缩放等。如果这些属性在一段时间只能被修改的话,那么这中叫做 IntervalActi...

【iphone游戏开发】iphone-Cocos2D游戏开发之二:精灵表的详细讲解(一)和Zwoptex工具的使用

转自:http://blog.csdn.net/qiaoshe/article/details/6890081 1.精灵表的分类: 简单精灵表:精灵表中的图片都具有相同维度 复杂...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cocos2d的常用动作及效果总结之二:Composition actions
举报原因:
原因补充:

(最多只允许输入30个字)