cocos2d的常用动作及效果总结之二:Composition actions
来源:互联网 发布:天猫算法大赛 编辑:程序博客网 时间:2024/04/30 03:49
上一篇整理了 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
- cocos2d的常用动作及效果总结之二:Composition actions
- cocos2d的常用动作及效果总结之一: Basic actions
- cocos2d的常用动作及效果总结之一: Basic actions
- cocos2d的常用动作及效果总结之一: Basic actions
- cocos2d的常用动作及效果总结之三:Ease actions
- cocos2d的常用动作及效果总结之四:Special Actions
- cocos2d的常用动作及效果总结之三:Ease actions
- cocos2d的常用动作及效果总结之四:Special Actions
- cocos2d的常用动作及效果总结之一: Basic actions(转)
- cocos2d开发之动作(Actions)
- cocos2d-x:动作 Actions
- 7.【cocos2d翻译系列】Actions, Transformations and Effects--Composition actions
- cocos2d之持续动作二
- 《Cocos2d学习之路》五,粒子效果,Actions,以及中文显示问题的解决
- Libgdx 之Actions 动作类
- cocos2d-x学习笔记(7)--动作(Actions)
- Cocos2d-x 2.0 之 Actions “三板斧” 之二
- cocos2d的常用动作及效果总结之一: Basic actions
- dfa
- 计算机数据的存储-编码(补码,移码)
- 深入了解java虚拟机
- 1.编程式调度器,每周的周六15:38:30执行作业
- cocos2d的常用动作及效果总结之二:Composition actions
- Arrays.copyof(···)与System.arraycopy(···)区别
- AVL树 模板
- 如何给JavaScript添加一个自定义对象
- cocos2d的常用动作及效果总结之三:Ease actions
- zen cart 关于页面 title
- 杭电ACM 2032 杨辉三角
- cocos2d的常用动作及效果总结之四:Special Actions
- javascript 的一些特性--函数