`

cocos2d-x action动作整理集合

 
阅读更多

1.基本动作
     Cocos2d提供的基本动作:瞬时动作、延时动作、运作速度。
     瞬时动作:就是不需要时间,马上就完成的动作。瞬时动作的共同基类是 InstantAction。
     Cocos2d提供以下瞬时动作:

  •   放置 – Place

            效果类似于 node.Position = ccp(x, y)。之所以作为一个动作来实现是为了可以与其他动作形成一个连续动作。

  •   隐藏 – Hide

           效果类似于 [node setVisible:NO]. 之所以作为一个劢作来实现是为了可以与其他动作形成一个连续动作。

  •  显示 – Show

           效果类似于 [node setVisible:YES]. 之所以作为一个动作来实现是为了可以与其他动作形成一个连续动作。

  • 可见切换 – ToggleVisibility

 

2.延时动作
      延时动作就是指动作的完成需要一定时间。因此actionWithDuration 是延时动作执行时的第一个参数,延时动作的共同基类是 CCIntervalAction(包含了组合动作类)。
      Cocos2d提供以下瞬时动作(函数命名规则是:XxxxTo: 意味着运动到指定的位置, XxxxBy:意味着运动到按照指定的 x、y 增量的位置。[x、y 可以是负值]):

 

  •  移动到 – CCMoveTo
  • 移动– CCMoveBy
  • 跳跃到 – CCJumpTo   设置终点位置和跳跃的高度和次数。
  • 跳跃 – CCJumpBy   设置终点位置和跳跃的高度和次数。
  • 贝塞尔 – CCBezierBy  支持 3 次贝塞尔曲线:P0-起点,P1-起点切线方向,P2-终点切线方向,P3-终点。
  • 放大到 – CCScaleTo   设置放大倍数,是浮点型。
  • 放大 – CCScaleBy
  • 旋转到 – CCRotateTo
  • 旋转 – CCRotateBy
  • 闪烁 – CCBlink   设定闪烁次数
  • 色调变化到 – CCTintTo
  • 色调变换 – CCTintBy
  • 变暗到 – CCFadeTo
  • 由无变亮 – CCFadeIn
  • 由亮变无 – CCFadeOut

 

3.组合动作
   按照一定的次序将上述基本动作组合起来,形成连贯的一套组合动作。组合动作包括以下几类:

 

  •  序列 – CCSequence

 

      Sequence 的使用非常简单,该类也从 CCIntervalAction 派生,本身就可以被 CocosNode 对象执行。该类的作用就是线序排列若干个动作,然后按先后次序逐个执行。

 

  • 同步 – Spawn

 

      Spawn 的使用非常简单,该类也从 IntervalAction 派生,本身就可以被CocosNode 对象执行。该类的作用就是同时并列执行若干个动作,但要求动作都必须是可以同时执行的。比如:移动式翻转、变色、变大小等。
      需要特别注意的是,同步执行最后的完成时间由基本动作中用时最大者决定。

 

  • 重复有线次数 – Repeate

重复有限次数的动作,该类也从 IntervalAction 派生,可以被 CocosNode 对象执行。

 

  • 反向动作 – Reverse

 

       反向动作就是反向(逆向)执行某个动作,支持针对动作序列的反向动作序列。反向动作不是一个专门的类,而是 CCFiniteAction 引入的一个接口。不是所有的类都支持反向动作,XxxxTo 类通常不支持反向动作,XxxxBy 类通常支持。

 

  •  动画 – Animation

 

      动画就是让精灵自身连续执行一段影像,形成模拟运动的效果:行走时的精灵状态、打斗时的状态等。

 

  • 无限重复 – RepeatForever

 

      RepeatForever 是从 Action 类直接派生的,因此无法参与序列和同步;自身也无法反向执行。该类的作用就是无限期执行某个动作或动作序列,直到被停止。

4.速度变化
      基本动作和组合动作实现了针对精灵的各种运动、动画效果的改变,但这样的改变的速度是不变的,通过 CCEaseAction 为基类的类系和 CCSpped 类我们可以很方便的修改精灵执行劢作的速度:由快至慢还是由慢至快。

 

  • EaseIn 由慢至快。
  • EaseOut 由快至慢
  • EaseInOut 由慢至快再由快至慢。
  • EaseSineIn
  • 由慢至快。

 

  • EaseSineOut 由快至慢
  • EaseSineInOut 由慢至快再由快至慢。
  • EaseExponentialIn 由慢至极快。
  • EaseExponentialOut 由极快至慢。
  • EaseExponentialInOut 由慢至极快再由极快至慢。
  • Speed 人工设定速度,还可通过 SetSpeed 不断调整。

 

5.扩展动作

 

  •    延时动作 – Delay ,比如在动作序列中增加一个时间间歇

 

  • 函数调用
  • 函数

 

          在动作序列中间或者结束调用某个函数,执行任何需要执行的任务:动作、状态修改等。id acf = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)];对应的函数为:- (void) CallBack1 {
[sprite runAction:[CCTintBy actionWithDuration:0.5 red:255 green:0 blue:255]]; }

 

  • 带对象参数--调用自定义函数时,传递当前对象。id acf = [CallFuncN actionWithTarget:self selector:@selector(CallBack2:)];对应的自定义函数:(这里,我们直接使用了该对象)
    - (void) CallBack2:(id)sender {
    [sender runAction:[CCTintBy actionWithDuration:1 red:255 green:0 blue:255]]; }
  • 带 对象、数据参数--用自定义函数时,传递当前对象和一个常量(也可以是指针)。id acf = [CCCallFuncND actionWithTarget:self selector:@selector(CallBack3:data:) data:(void*)2];对应的自定义函数,我们使用了传递的对象和数据:
    -(void) CallBack3:(id)sender data:(void*)data {
    [sender runAction:[CCTintBy actionWithDuration:(NSInteger)data red:255 green:0 blue:255]]; }

 

 

 

 

 

分享到:
评论

相关推荐

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

    文件夹"study14(动作集合ActionAll)"可能包含了一系列示例代码,这些代码演示了各种动作的用法,是深入理解Cocos2d-x动作系统的好资料。 通过深入研究这个"ActionAll"集合,你可以掌握Cocos2d-x中动作系统的精髓,...

    cocos2dx_study.rar_cocos2d-x_cocos2d-x实例_cocos2dx

    本资料集合旨在为初学者提供一个全面的cocos2d-x学习路径,从环境搭建到实际项目开发,涵盖了所有必要的知识点。 一、环境配置 在开始cocos2d-x游戏开发之前,你需要先安装和配置一系列的开发工具。这包括但不限于...

    Cocos2d-x离线文档

    6. **动作(Action)**:Cocos2d-x的动作系统允许开发者定义和组合各种动作,如移动、旋转、淡入淡出等,使精灵或节点的行为更加生动。 7. **粒子系统(ParticleSystem)**:Cocos2d-x提供了粒子系统,用于创建各种...

    cocos2d-x完整RPG游戏源代码

    1. **Cocos2d-x框架**:Cocos2d-x提供了丰富的2D图形渲染功能,包括精灵(Sprite)、场景(Scene)、层(Layer)、动作(Action)等基本元素。它还有物理引擎、粒子系统、动画工具等模块,使得开发者能够方便地创建...

    cocos2d-x2.2.2 API帮助文档

    《cocos2d-x2.2.2 API帮助文档》是针对游戏开发人员的重要参考资料,主要涵盖cocos2d-x 2.2.2版本的API接口和功能介绍。cocos2d-x是一个广泛使用的开源游戏开发框架,它基于C++,支持多种平台,包括iOS、Android、...

    cocos2d-x 2.1.0 文档

    Cocos2d-x是一个开源的游戏开发框架,主要应用于2D游戏、实时应用和互动教育软件的开发。2.1.0版本是该框架的一个重要里程碑,它提供了许多更新和改进,使得开发者能够更加高效地创建游戏和应用程序。文档是开发者...

    coco2d-x基础资料-doc

    总之,"coco2d-x基础资料-doc"这个压缩包很可能是对Cocos2d-x框架的基本介绍、教程、示例代码或API文档等内容的集合,对于初学者来说是非常宝贵的参考资料,可以帮助他们快速理解和掌握Cocos2d-x的开发技能。...

    精通Cocos2d-x游戏开发(进阶卷)源代码

    《精通Cocos2d-x游戏开发(进阶卷)源代码》是一本深入解析Cocos2d-x游戏引擎开发的专业书籍的源代码集合。Cocos2d-x是一款跨平台、开源的游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书的进阶...

    cocos2d _切水果

    这个过程涉及到Cocos2d-iPhone的事件处理机制,包括触摸事件(Touch Events)和动作调度(Action Scheduler)。我们需要监听触摸事件,当用户触摸屏幕时,根据触摸轨迹生成切割线,并判断是否与水果或炸弹重合。 ...

    知易Cocco2D-iPhone开发教程-07

    4. **动作(Action)与动画(Animation)**:Cocos2D提供了丰富的动作类,如MoveTo、RotateTo等,可以轻松地创建出复杂的动画效果。通过组合动作,可以实现角色的行走、跳跃、攻击等行为。 5. **物理引擎(Physics ...

    cocos2d 知易+源代码

    《cocos2d 知易+源代码》是一份深入探讨cocos2d框架的PDF文档集合,包含从基础到进阶的多个章节,旨在帮助读者掌握这一强大的2D游戏开发工具。cocos2d是一个开源的游戏开发框架,广泛应用于iOS、Android以及Mac OS X...

    cocos2d离线文档 docset格式的

    1. **渲染系统**:Cocos2D提供了一个基于OpenGL的2D渲染引擎,可以创建精灵(Sprite)、层(Layer)、场景(Scene)和动作(Action)。例如,CCSprite用于显示图像,CCLayer作为内容的容器,CCScene作为游戏或应用...

    iphone 开发设计

    - 它提供了场景(Scene)、层(Layer)、精灵(Sprite)、动作(Action)等概念,简化了游戏逻辑的实现。 - 使用Tiled地图编辑器配合Cocos2D可以创建复杂的关卡和场景。 - 支持物理引擎Box2D,实现真实的碰撞检测...

    三款使用cocos2d开发的Android棋盘类游戏

    在Android平台上,Cocos2d是一个非常流行的开源游戏开发框架,它允许开发者使用C++或者 Lua语言进行游戏逻辑编写,并提供了丰富的2D图形渲染、物理引擎、动画效果等功能。本主题将围绕“三款使用cocos2d开发的...

    冒险岛怪物素材

    开发者可以使用Cocos2D提供的API来处理图像资源,创建精灵(Sprite)对象,并设置动作(Action)来播放行走动画。 对于"新建文件夹"和"res"这两个文件或目录,它们可能分别代表了素材的不同分类或者存储结构。"新建...

Global site tag (gtag.js) - Google Analytics