`
473687880
  • 浏览: 535788 次
文章分类
社区版块
存档分类
最新评论

【玩转cocos2d-x之九】动作类CCAction

 
阅读更多

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12770909


精灵也出来了,但是不会动的精灵是木有用的。。。CCAction就是负责来解决精灵运动的问题。


1.概况


CCAction直接从CCObject继承而来,注意它代表的是一个动作,是动词。精灵执行了这个动作,而不是名词。CCAction本身并没有什么功能,主要是定义了一些通用函数和虚函数让子类实现多态性。


2.接口

  1. //返回一个描述
  2. constchar*description();
  3. //返回动作是否结束
  4. virtualboolisDone(void);
  5. //在动作开始前调用,需要设置目标精灵
  6. virtualvoidstartWithTarget(CCNode*pTarget);
  7. //每帧调用,time在0~1之间,0代表动作刚开始,0.5代表动作执行一半,1代表动作结束
  8. virtualvoidupdate(floattime);
  9. //返回/设置目标节点
  10. CCNode*getTarget(void);
  11. voidsetTarget(CCNode*pTarget);
  12. //获取/设置上一个节点
  13. CCNode*getOriginalTarget(void);
  14. voidsetOriginalTarget(CCNode*pOriginalTarget);
  15. //获取/设置标签
  16. intgetTag(void);
  17. voidsetTag(intnTag);
  18. //创建动作静态方法
  19. staticCCAction*create();


3.CCFollow

CCFollow跟随动作,继承于CCAction,可以实现节点跟随另一个节点动作。它内部封装了一个boundary,也就是跟随范围,初始为CCRectZero。

  1. //创建一个CCFollow对象,create实际上调用了initWithTarget
  2. staticCCFollow*create(CCNode*pFollowedNode,constCCRect&rect=CCRectZero);
  3. boolinitWithTarget(CCNode*pFollowedNode,constCCRect&rect=CCRectZero);


4.CCSpeed

CCSpeed可调整速度动作类,内部封装了一个速度值,CCSpeed使用很简单,就是传入一个动作和速度,在内部重新copy一个新的动作返回。

  1. //创建一个可变速度动作类,传入速度值
  2. staticCCSpeed*create(CCActionInterval*pAction,floatfSpeed);


5.CCFiniteTimeAction

CCFiniteTimeAction有限次动作执行类,继承于CCAction,它有两个子类CCActionInstant和CCActionInterval,前者代表瞬时动作,也就是这个动作基本不需要时间马上就能完成,而后者代表延时,这个动作需要一段时间来运行。它的子类说明看上图吧。

相比CCAction,它多了一个m_fDuration属性,表示持续时间。

  1. //获取/设置动作持续时间
  2. floatgetDuration(void);
  3. voidsetDuration(floatduration);
  4. //反转动作,类似于倒带效果,返回一个新的动作
  5. virtualCCFiniteTimeAction*reverse(void);

好了,游戏的基本元素就写到这里,写API文档很蛋疼的说。。。

分享到:
评论

相关推荐

    cocos2d-x源码素材

    【cocos2d-x源码素材】是一套用于学习cocos2d-x游戏开发的代码资源,它在Windows平台上使用Visual Studio 2010进行编译并通过了测试。这个资源包涵盖了多个重要的游戏开发技术,包括碰撞检测、瓦片地图(Tile Map)...

    cocos2d-x 2.x action集合(详细注释分类)

    在这个"cocos2d-x 2.x action集合(详细注释分类)"的资源中,你将深入学习到如何使用动作(Action)来控制游戏对象的行为,从而实现各种动态效果。 1. **动作(Action)基础**: 动作是Cocos2d-x中改变节点(Node)...

    cocos2d-x API大全中文版2016

    《cocos2d-x API大全中文版2016》是一部详尽的参考资料,旨在为开发者提供关于cocos2d-x框架的全面理解和实践指导。cocos2d-x是一款广泛使用的开源游戏开发框架,它基于cocos2d,并且支持跨平台开发,包括iOS、...

    cocos2d-x3.0rc0 中文API

    cocos2d-x提供了丰富的动作(Action)和特效(Effect),包括移动、旋转、缩放、淡入淡出等。通过`CCAction`和`CCActionInterval`等类,开发者可以轻松地为游戏对象添加各种动态效果。这些API在中文文档中均有详细...

    一个都不能死游戏cocos2d-x实现

    - 在Cocos2d-x中,游戏场景(Scene)是游戏的基本单元,通过`CCScene`类创建。游戏的主场景将包含所有的游戏元素,如角色、背景、障碍物等。你可以创建一个`GameScene`类,继承自`CCScene`,并在其中设置游戏逻辑。...

    cocos2d-x3.10 c++ 水果机

    cocos2d-x提供了`CCAction`类,允许我们创建各种动画效果,如平移、旋转、缩放等。在水果机游戏中,转轮的旋转效果可以通过`CCRotateTo`和`CCDelayTime`等动作组合实现。 最后,cocos2d-x提供了强大的性能优化工具...

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

    在iOS游戏开发中,Cocos2d-x是一个广泛使用的2D游戏引擎,其Cocos2d-iPhone版本专为Objective-C编程语言设计。本主题主要关注Cocos2d-iPhone中的“动作”(Actions)机制,这是一个强大的工具,用于创建各种动画效果...

    cocos2d-x简单绘图

    在本文中,我们将深入探讨如何使用Cocos2d-x库进行简单的绘图和动画制作。Cocos2d-x是一个开源的、跨平台的2D游戏开发框架,它基于C++,支持多种操作系统,如iOS、Android、Windows等。在这个例子中,我们将基于...

    Cocos2d-x离线帮助API

    Cocos2d-x是一个流行的开源游戏开发框架,广泛用于创建2D游戏、演示和其他互动内容。Cocos2d-x API是开发者与框架交互的核心部分,提供了丰富的类库和方法,帮助程序员实现各种游戏功能,如图像渲染、动画、物理引擎...

    cocos2d-x3.x 动画demo

    在cocos2d-x 3.x中,动画主要通过`CCAction`类及其子类来实现。这些动作可以包括简单的平移、旋转、缩放,以及更复杂的序列化动作和组合动作。在这个特定的Demo中,当用户单击文本标签时,游戏人物会执行一个放大招...

    cocos2d-x 2.2 api

    3. **动作(Actions)**:Cocos2d-x的动作系统非常强大,包括基本动作(如移动、旋转、淡入淡出)和组合动作(如序列、并行)。`CCAction`类及其子类提供了一系列用于改变节点属性的方法,可以创建复杂的动画效果。 ...

    cocos2d-x游戏特效

    cocos2d-x的动作系统基于CCAction类,该类是CCObject的子类,设计用于操作所有的CCNode及其子类。CCAction包含了各种动作,如位置移动、旋转、缩放等,这些动作能够帮助开发者构建复杂的动画序列。 **CCAction类的...

    跨平台的游戏引擎cocos2d-x介绍

    ### 跨平台的游戏引擎cocos2d-x介绍 #### 一、cocos2d-x简介 cocos2d-x是一个开源、跨平台且轻量级的2D游戏开发引擎,它最初源自于iOS平台上的cocos2d-iphone游戏引擎,并针对多平台进行了优化和扩展。该引擎的...

    自己写的cocos2d-x的小demo

    4. **动作(Actions)**:Cocos2d-x提供了丰富的动作库,如平移、旋转、缩放、淡入淡出等,可以对精灵或整个场景进行操作。动作是通过`CCAction`及其子类来定义的,可以组合和序列化以创建复杂的动态效果。 5. **...

    cocos2d-x初探学习笔记(3)

    ### cocos2d-x初探学习笔记(3)—— 动作(CCAction) #### 内存自动回收 在深入探讨`cocos2d-x`的动作系统之前,我们首先需要了解该框架提供的内存管理机制。与Java等语言不同,C++需要开发者手动管理内存,这在...

    cocos2d-x 2.1.4 帮助文档

    《cocos2d-x 2.1.4 帮助文档》是为开发者提供的一份详尽的接口说明资料,旨在帮助用户更好地理解和使用cocos2d-x 2.1.4版本的游戏开发框架。这份文档是由Doxygen工具自动生成的网页版,免除了开发者手动整理和制作...

    Cocos2d x手机游戏开发与项目实战详解.part3

     第五章主要介绍Cocos2d-x核心技术,这里包括Cocos2d-x的核心类CCDirector、CCScene、CCNode、CCLayer、CCSprite、CCAction等,通过案例来介绍Cocos2d-x的场景、图层、交互、动作、动画、粒子效果、游戏地图、物理...

    《cocos2d-x权威指南》第12章实例代码

    在横版游戏中,`cocos2d-x`的`ccMoveTo`、`ccJumpBy`、`ccBezierTo`等动作类常用于创建角色的移动效果。同时,`CCTMXMapLoader`和`TMXObjectGroup`可以用来加载Tiled地图,实现关卡设计。物理引擎如Box2D可能会被...

Global site tag (gtag.js) - Google Analytics