`
浮生长恨
  • 浏览: 207716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

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

CCSequence 

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

Java代码 
  1. id action1 = [CCMoveTo actionWithDuration:2 position:ccp(100,100)];  
  2. id action2 = [CCMoveBy actionWithDuration:2  position: ccp(80,80)];  
  3. id action3 = [CCMoveBy actionWithDuration:2  position: ccp(0,80)];  
  4. [sprite runAction: [CCSequence actions:action1, action2, action3, nil]];  


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

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

CCSpawn 

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

Java代码 
  1. id action = [CCSpawn actions:  
  2.         [CCJumpBy actionWithDuration:2 position:ccp(300,0) height:50 jumps:4],  
  3.         [CCRotateBy actionWithDuration: 2 angle: 720],  
  4.         nil];  
  5.    
  6. [sprite runAction:action];  


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

CCRepeat 

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


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


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

CCRepeatForever 

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


Java代码 
  1. CCRotateBy* rotate = [CCRotateBy actionWithDuration:1.0f angle:360];  
  2. CCRepeatForever* action2 = [CCRepeatForever actionWithAction:rotate];  
  3. [sprite runAction:action2];  


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

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

 

分享到:
评论

相关推荐

    cocos2d-x json字符串与cocos2d::Value转换工具

    该资源主要用于cocos2d-x中Value与json字符串的相互转换,提供从json文件读取为cocos2d::Value,cocos2d::Value写入到文件,cocos2d::Value转换为json字符串,json字符串转换为cocos2d::Value。json字符串转换成cocos...

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d实现RollNunber(数字滚动效果)

    感觉4个人开发游戏真的很累,游戏为了脱颖出更加真实的效果还使用了物理引擎,在老大的同意的情况下,我共享cocos2d自己写的一些大家比较常用的,因为cocos2d有些控件不怎么好用或者没有,反正我觉得是这样的。...

    cocos2d入门cocos2d入门

    cocos2d入门 cocos2d入门 cocos2d入门 cocos2d入门 cocos2d入门 cocos2d入门

    【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-延时动作

    【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-延时动作 http://blog.csdn.net/tt5267621/article/details/7625309

    COCOS2D 弹球效果

    COCOS2D 弹球效果

    cocos2d实现progress(进度条效果)

    感觉4个人开发游戏真的很累,游戏为了脱颖出更加真实的效果还使用了物理引擎,在老大的同意的情况下,我共享cocos2d自己写的一些大家比较常用的,因为cocos2d有些控件不怎么好用或者没有,反正我觉得是这样的。...

    cocos2D各种场景切换效果

    花了一个下午时间总结了cocos2D里场景切换效果,所有场景名称都已放入开场场景中,点击名称即可看到效果。

    Cocos2d-x实战 JS卷

    Cocos2d-x实战

    Cocos2d-x实现战争迷雾效果 项目源码下载

    Cocos2d-x实现战争迷雾效果 项目源码下载

    Cocos2D权威指南

    第1章 开始前的准备工作 1 第2章 你的第一款iPhone游戏:垂直射击游戏 38 第3章 Cocos2D核心类 69 第4章 Cocos2D中的动作、特效与动画 152 第5章 Cocos2D中的文本渲染系统 229 共19章

    【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-扩展动作

    【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-扩展动作 http://blog.csdn.net/tt5267621/article/details/7626450

    cocos2d-x-2.1.5

    cocos2d-x-2.1.5

    Cocos2d-x高级开发教程

    Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关...

    Cocos2d-x 常用宏

    Cocos2d-x 常用宏

    cocos2d-x实战项目

    cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...

    cocos2d-x 初级粒子爆炸特效

    cocos2d-x 初级粒子爆炸特效,引用了大虾superraccoon作品中的资源,做初级示范之用。

    Cocos2d demo 场景切换效果TransitionScene 补充

    学习cocos2d过程中的demo,场景切换效果,cocos2d官方demo中也有。只需将压缩包内的code和资源替换项目中的即可 相关文章: http://blog.csdn.net/lsmfeixiang/article/details/43411919

    【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-瞬时动作

    【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-瞬时动作 http://blog.csdn.net/tt5267621/article/details/7624781

    cocos2d-x事件类

    在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...

Global site tag (gtag.js) - Google Analytics