Action的分类



第一种:FiniteTimeAction类:有限时间的动作类

第二种:Follow类:节点跟随另一种节点的类

第三种:Speed类:节点执行速度类

第一种有限时间的动作类又分为瞬时动作和持续时间的动作。

几个重要的动作类

  1. Sequence:按顺序执行一系列的动作。但是在执行的动作系列中不能出现Repeat这种无限的动作。
CCMoveTo* move_1 = CCMoveTo::create(1,Vec(100,100));//第一个参数是时间,第二个参数是移动到的坐标
CCMoveBy* move_2 = CCMoveBy::create(1,ccp(100,200));//moveto和moveby的区别:一个是绝对坐标,一个是相对坐标(相对精灵原来的坐标)
CCMoveTo* move_3 = CCMoveBy::create(1,ccp(200,200));
CCSequence* seq = CCSequence::create(move_1,move_2,move_3,NULL);//将三种移动全部集合到一个动作序列
sprite->runAction(seq);//将精灵执行这个动作

2.Spawn:同时执行一系列动作,执行的时间以子动作中最长事件为准。

CCSpawn* action = CCSpawn::create(
CCJumpBy::create(1,Vec(300,0) ,50 ,4),
CCRotateBy::create(2,180), NULL);
sprite->runAction(action);//同时执行这两个动作,边跳跃边旋转

3.Repeat:重复一个动作,可以自定义重复的次数。

CCMoveBy* action = CCMoveBy::create(2,Vec(10,10));
CCRepeat* repeat = CCRepeat::create(action,3);
sprite->runAction(repeat);//动作重复三次

4.RepeatForerver:无限次重复一个动作。

CCRotateBy* rotate = CCRotateBy::create(1.0,360);
CCRepeatForever* action2 = CCRepeatForever::create(rotate);
sprit->runAction(action2);//无限执行这个动作

5.CCMoveTo、CCMoveBy:移动到某一位置

CCMoveBy::create(2, ccp(80,80)) ;

6.CCScaleTo、CCScaleBy:进行一定比例的放大缩小

CCScaleTo::create(2.0f, 0.5f) ;

7.CCSkewTo、CCSkewBy:进行一定角度的拉伸

CCSkewTo::create(2, 37.2f, -37.2f);

8.CCRotateTo、CCRotateBy:进行一定角度的旋转

CCRotateBy::create(2, 45.0f) ;

9.CCJumpTo、CCJumpBy:进行跳跃

CCJumpTo::create(2, ccp(300,300), 50, 4);

10.CCBezierBy、CCBezierTo:贝塞尔曲线

ccBezierConfig bezier;
bezier.controlPoint_1 = ccp(0, 200);
bezier.controlPoint_2 = ccp(300, -200);
bezier.endPosition = ccp(300,100);
CCBezierBy::create(3, bezier);

11.CCBlink:表示闪烁

CCBlink::create(2, 10) ;

[cocos2d-x]关于Action的更多相关文章

  1. cocos2d中各种action方法的应用

    Action示例: 1.移动动作 cc.MoveBy:create(time, posX, posY)  在time时间内,相对当前位置基础上移动x,y个单位. cc.MoveTo:create(ti ...

  2. !cocos2d 重复添加action事件

    当点击的时候,如果不是按照开始点击计算的,那么持续点击会导致不会变大. void Piece::setActived(bool active) { _actived = active; CCActio ...

  3. 一个简单的游戏开发框架(六.行为Action)

    Action是cocos2d-x中比较重要的概念,有一个庞大的类族.参见老G写的cocos2d-x学习笔记09:动作2:持续动作 除了各种包装器,剩下的主要是一些持续动作: CCMoveTo:移动到. ...

  4. SpriteKit中反转Action需要注意的问题

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在SpriteKit中同样有Cocos2D中类似的Ac ...

  5. cocos2d-x实战 C++卷 学习笔记--第7章 动作、特效(一)

    前言: 介绍cocos2d-x中的动作.特效. 动作: 动作(action)包括基本动作和基本动作的组合,这些基本动作有缩放.移动.旋转等,而且这些动作变化的速度也可以设定. 动作类是 Action. ...

  6. Cocos2D中Action的进阶使用技巧(二)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上回说到解决办法是使用CCTargetedAction类. C ...

  7. Cocos2D中Action的进阶使用技巧(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 大家对Cocos2d中动作的使用大概都很清楚了,其实本身act ...

  8. cocos2D v3.x 中action的回调block变化

    cocos2D v2.x中有带参数的回调block: id blk = [CCCallBlockN actionWithBlock:^(CCNode *node){ node.position = o ...

  9. cocos2d触碰例子代码

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

  10. 如何优化cocos2d程序的内存使用和程序大小

    在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...

随机推荐

  1. 6.RabbitMQ系列之direct直连交换器

    我们通过fanout exchange(扇型交换机)实现生产者发送一个消息,这个消息同时被传送给所有队列.但是有时我们不希望所有的消息都被所有队列接收,我们希望可以指定类型为a的消息只能被队列A接收, ...

  2. js红宝书学习笔记(一)引用类型

    一.引用类型 ECMAScript中,引用类型是一种数据结构称之为对象定义,,引用对象不同于传统面向对象语言所支持的类和接口等基本结构 创建Object 实例的两种方式: new操作符跟Object构 ...

  3. C语言编译环境中的 调试功能及常见错误提示

    文章目录 1 .调试功能 2 . 编译中的常见错误例析 3 .常见错误信息语句索引 1 .调试功能 1.常用健 <F10> : 激活系统菜单 <F6> : 将光标在编辑窗口和. ...

  4. JavaScript基础&实战(4)js中的对象、函数、全局作用域和局部作用域

    文章目录 1.对象的简介 2.对象的基本操作 2.1 代码 2.2 测试结果 3.属性和属性值 3.1 代码 3.2 测试结果 4.对象的方法 4.1 代码 4.2 测试结果 5.对象字面量 5.1 ...

  5. 基于 Redis 实现分布式锁

    1.主流分布式锁实现方案 基于数据库实现分布式锁 基于缓存(redis 等) 基于 Zookeeper 2.根据实现方式分类 类 CAS 自旋式分布式锁:询问的方式,类似 java 并发编程中的线程获 ...

  6. 解决@Url.Action("Action", "Controller",new {p1=v1,p2=v2 })的传参问题

    1.首先@Url.Action("Action", "Controller",new {p1=v1,p2=v2 })后面的model参数不可以直接用变量 需要先 ...

  7. c++ 关于引用变量你不知道的东西

    引用变量延迟绑定 我们知道引用变量定义时要立刻赋值,告诉编译器他是谁的引用.如果不赋值,编译会失败. 如果引用变量是单个定义的,对他赋值还比较简单. struct test_T { int data; ...

  8. 区分mbr与gpt分区

    查看分区类型 [root@localhost ~]# parted -l|egrep 'dev/|Part' Warning: Unable to open /dev/sr0 read-write ( ...

  9. MySQL遇到的坑:sql_mode=only_full_group_by不兼容

    描述: 解决方案: show variables like "%sql_mode%"; SET sql_mode=(SELECT REPLACE(@@sql_mode," ...

  10. windows 搭建iis文件服务器

    1.运行打开控制面板->程序->启用或关闭Windows功能,勾选下面所有的选项. 注意,必须安装功能所需文件. 等待 关闭即可. 2.在控制面板找到管理工具,不同版本的Windows不尽 ...