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 不断调整

cocos2d-x的基本动作2的更多相关文章

  1. cocos2d programming guide 翻译 引导页(完结)

    http://bbs.tairan.com/article-25-1.html  Cocos2d官方入门指导 原文地址:http://www.cocos2d-iphone.org/wiki/doku. ...

  2. 小尝试一下 cocos2d

    好奇 cocos2d 到底是怎样一个框架,正好有个项目需要一个游戏框架,所以稍微了解了一下.小结一下了解到的情况. 基本概念 首先呢,因为 cocos2d 是基于 pyglet 做的,你完全可以直接用 ...

  3. 采用cocos2d-x lua 制作数字滚动效果样例

    require "Cocos2d"require "Cocos2dConstants"local testscene = class("testsce ...

  4. Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板

    很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例 ...

  5. iPhone开发与cocos2d 经验谈

    转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开 ...

  6. cocos2d学习记录

    视频 - http://www.manew.com/forum-105-3.html一个论坛帖 - http://www.zhihu.com/question/21114802官网 - http:// ...

  7. Android下Cocos2d创建HelloWorld工程

    最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp ...

  8. 学生信息管理系统(cocos2d引擎)——数据结构课程设计

    老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create("&qu ...

  9. cocos2d触碰例子代码

    // // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName ...

随机推荐

  1. 洛谷P3959 宝藏(状压dp)

    传送门 为什么感觉状压dp都好玄学……FlashHu大佬太强啦…… 设$f_{i,j}$表示当前选的点集为$i$,下一次要加入的点集为$j$时,新加入的点和原有的点之间的最小边权.具体的转移可以枚举$ ...

  2. Node.js 内置模块crypto加密模块(1) MD5 和 SHA

    MD5:消息摘要算法(Message-Digest Algorithm) SHA家族:安全散列算法( Secure Hash Algorithm ) 1.首先看一个简单的加密 "use st ...

  3. vue+element级联选择器对接后台数据

    1.后台接口返回的数据肯定要和级联选择器的数据一致,所以我专门弄个model存放返回的值,如下:/** * @Auther: GGDong * @Date: 2019/4/3 10:30 */@Get ...

  4. MyBatis入门学习笔记(一)

    一.什么是MyBatis? Mybatis是一种“半自动化”的ORM实现,支持定制化 SQL.存储过程以及高级映射. 二.hibernate和mybatis对比 共同:采用ORM思想解决了实体和数据库 ...

  5. Codeforces 140B(模拟)

    要点 题意读好久.大概这样理解:每个时间点按顺序收到序号1-n的卡片,只有收过的卡片才能发给别人并且主人公会发在他心中优先级最高的.由于主人公可以在任何时间给朋友发卡片,最后输出(说得很绕但等价于)1 ...

  6. beanshell解析json(从简单到复杂)

    使用beanshell 解析单层Json: Json 数据如下: { "status":200, "code": 0, "message": ...

  7. JS filter使用

    filter 用于筛选数组中符合条件的所以元素,filter只能接受函数 注意:filter只返回筛选结果,不会对原来数组改变 实现方法: <html lang="en"&g ...

  8. vconsole移动端调试技巧(禁止webviuew,inspect等)

    如果由于某种原因(天朝FQ),不能支持google 的 inspect  调试 或者再想在某个APP里面调试你的页面,但是没有打开APP的webview ,也不能授权调试 在或者,Fider 可以拦截 ...

  9. 单个页面Request编码方式的改变,无需改动Web.config~

    搞一个东西,从别人的接口接一段中文,URL传输,怎么都有乱码~~ 得到对方的编码方式是gb2312,于是用HttpUtility.UrlDecode(_smssend_content, System. ...

  10. IDEA2017 配置Maven

    配置本地仓库位置 配置一下Maven的本地仓库路径,首先找到解压Maven的目录,找到conf -> settings.xml这个配置文件打开. 打开settings.xml 配置文件,选一个本 ...