当前位置: 首页 > news >正文

执行对象cocos2d-x 2.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]]; }

文章结束给大家分享下程序员的一些笑话语录: 真正的程序员喜欢兼卖爆米花,他们利用CPU散发出的热量做爆米花,可以根据米花爆裂的速度听出正在运行什么程序。

转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/05/17/3084576.html

相关文章:

  • MySQL主从复制介绍
  • C# 使用GDI+绘制漂亮的ToolStrip和StatusStrip皮肤(转载)
  • Win32编程点滴3 - 简单ActiveX控件的使用
  • 禁止鼠标选中文字
  • HDU2553 N皇后问题
  • [转]给年轻工程师的十大忠告
  • Flutter 安装
  • CYQ.Data V5 批量插入与批量更新示例
  • Java知识点总结(JavaIO-打印流)
  • 在Java中使用Lua脚本语言
  • python正则
  • [HEOI2013]ALO
  • 20172304 2017-2018-2 《程序设计与数据结构》第七周学习总结
  • 【语言处理与Python】4.2序列
  • 关于iOS网络访问权限的问题
  • Angular4 模板式表单用法以及验证
  • CAP 一致性协议及应用解析
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • js如何打印object对象
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • 初识MongoDB分片
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 对超线程几个不同角度的解释
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 缓存与缓冲
  • 力扣(LeetCode)965
  • 全栈开发——Linux
  • 实现菜单下拉伸展折叠效果demo
  • 一个SAP顾问在美国的这些年
  • 云大使推广中的常见热门问题
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • python最赚钱的4个方向,你最心动的是哪个?
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​ubuntu下安装kvm虚拟机
  • ​虚拟化系列介绍(十)
  • #DBA杂记1
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (2)STM32单片机上位机
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (离散数学)逻辑连接词
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (一)Linux+Windows下安装ffmpeg
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .net core 连接数据库,通过数据库生成Modell
  • .net MySql
  • .NET 反射 Reflect
  • @Controller和@RestController的区别?
  • @hook扩展分析
  • @Transactional类内部访问失效原因详解
  • [Android]使用Git将项目提交到GitHub