/**
* DelayTime延迟
* @param d Duration 延迟时间
*/
auto delayTime = DelayTime::create();
sprite->runAction(delayTime); /**
MoveTo 移动
@param duration 时长
@param position 移动到的位置
*/
auto *moveto = MoveTo::create(1.2f, Vec2(, ));
sprite->runAction(moveto);
/**
MoveBy 移动的距离
@param duration 时长
@param position 移动的距离, 从起始位置移动(100, 200)的位移
*/
auto *moveBy = MoveBy::create(1.2f, Vec2(, ));
sprite->runAction(moveBy); /**
* ScaleTo x, y, z轴按比例缩放 对应于ScaleBy
* @param duration 动作时长
* @param x比例
* @param y比例
* @param z比例
*/
auto *scaleTo = ScaleTo::create(1.2f, 2.0, 0.5, 2.0);
sprite->runAction(scaleTo); /**
RotateTo旋转, 如果是3D, 需要参数Vec3, 表示x, y, z方向旋转角度 对应于RotateBy
@param duration 时长
@param dstAngleX x旋转角度
@param dstAngleY y旋转角度
*/
auto *rotateTo = RotateTo::create(3.0, , );
sprite->runAction(rotateTo); /**
SkewTo 倾斜一定角度 对应于SkewBy
@param t 时长
@param sx x角度
@param sy y角度
*/
auto skewTo = SkewTo::create(3.0, , -);
sprite->runAction(skewTo); /**
* JumpTo创建跳跃动作 对应于JumpBy
* @param duration 时长.
* @param position 目标位置.
* @param height 每次跳跃的高度.
* @param jumps 跳跃次数.
*/
auto jumpTo = JumpTo::create(3.0, Vec2(, ), , );
sprite->runAction(jumpTo); /**
* BezierBy创建贝塞尔曲线动作 对应于BezierTo
* @param t 时长
* @param c 贝塞尔配置.
*/
ccBezierConfig bezier;
bezier.controlPoint_1 = Vec2(-, );
bezier.controlPoint_2 = Vec2(, );
bezier.endPosition = Vec2(, );
auto *bezierBy = BezierBy::create(, bezier);
sprite->runAction(bezierBy); /**
* FadeIn渐渐显示至255, (如果精灵本来就是255透明度, 没有效果) 对应于FadeOut渐渐消失 FadeTo(渐变到..)
* @param duration 时长
*/
auto fadeIn = FadeIn::create(3.0);
sprite->runAction(fadeIn); /**
* TintTo填充颜色渐变 对应于TintBy
* @param duration 时长
* @param red r值 0 to 255.
* @param green g值
* @param blue b值
*/
auto tintTo = TintTo::create(3.0, , , );
sprite->runAction(tintTo); /**
* Blink闪烁
* @param duration 时长
* @param blinks 闪烁次数.
*/
auto *blink = Blink::create(1.0f, );
sprite->runAction(blink); /**
OrbitCamera创建一个球面坐标轨迹进行旋转的动作
@param t 动画时长
@param radius 起始半径
@param deltaRadius 半径差
@param angleZ 起始Z角度
@param deltaAngleZ 旋转Z角度
@param angleX 起始X角度
@param deltaAngleX 旋转X角度
*/
auto orbit = OrbitCamera::create(, , , , , , );
auto reverse = orbit->reverse();
sprite->runAction(reverse); /**CardinalSplineTo创建一个样条曲线轨迹的动作 对应于CardinalSplineBy
* @param duration 时长
* @param points 控制点的坐标数组
* @param tension 拟合度 其值= 0 路径最柔和
*/
PointArray *array = PointArray::create();
array->addControlPoint(Vec2(, ));
array->addControlPoint(Vec2(, ));
array->addControlPoint(Vec2(, ));
array->addControlPoint(Vec2(, ));
array->addControlPoint(Vec2(, )); auto cardinalSplineTo = CardinalSplineTo::create(5.0, array, );
sprite->runAction(cardinalSplineTo); /** CatmullRomTo创建一个样条插值轨迹 对应于CatmullRomBy
* @param 时长
* @param points 控制点的坐标数组
* @code
*/
auto catmullRomTo = CatmullRomTo::create(3.0, array);
sprite->runAction(catmullRomTo); /**
EaseBounceIn 创建有反弹效果的动作(开始时反弹) 对应于EaseBounceOut结束位置反弹, EaseBounceInOut
@param action 目标动作
*/
auto moveTo = MoveTo::create(4.0, Vec2(, ));
auto easeBoundIn = EaseBounceIn::create(moveTo);
sprite->runAction(easeBoundIn); /**
EaseBackOut 让目标动作赋予回力, 且以目标动作终点位置作为回力点 对应于EaseBackIn, EaseBackInOut
@param action 目标动作
*/
auto moveTo = MoveTo::create(4.0, Vec2(, ));
auto easeBackOut = EaseBackOut::create(moveTo);
sprite->runAction(easeBackOut); /**
EaseElasticIn 让目标动作赋予弹性, 且以目标动作起点位子赋予弹性 对应于EaseElasticOut, EaseElasticInOut
@param action 目标动作
@param period
*/
auto moveTo = MoveTo::create(4.0, Vec2(, ));
auto easeElasticIn = EaseElasticIn::create(moveTo, 0.5);
sprite->runAction(easeElasticIn); /**
EaseExponentialIn 让目标动作缓慢开始 对应于EaseExponentialOut, EaseExponentialInOut
@param action 目标动作
*/
auto moveTo = MoveTo::create(4.0, Vec2(, ));
auto easeExponentialIn = EaseExponentialIn::create(moveTo);
sprite->runAction(easeExponentialIn); /**
EaseRateAction 给目标动作设置速率
@param action 目标动作
@param rate 速率
**/
auto moveTo = MoveTo::create(4.0, Vec2(, ));
auto easeRateAction = EaseRateAction::create(moveTo, );
sprite->runAction(easeRateAction); /**
EaseSineIn 动作由慢到快 对应于EaseSineOut, EaseSineInOut(动作由慢到快再快到慢)
@param action
*/
auto moveTo = MoveTo::create(4.0, Vec2(, ));
auto easeSineIn = EaseSineIn::create(moveTo);
sprite->runAction(easeSineIn); /** Speed 倍速
* @param action 目标动作
* @param speed 几倍速
*/
auto moveTo = MoveTo::create(4.0, Vec2(, ));
auto speed = Speed::create(moveTo, );
sprite->runAction(speed); /* Spawn 组合多个动作
* 参数:多个目标动作
*/
auto spawn = Spawn::create(action1, action2, NULL);
sprite->runAction(spawn); /** Sequence 多个动作顺序执行
* 参数:多个动作 如果要执行反方向动作, 所有动作都得支持反方向动作
*/
auto moveBy = MoveBy::create(4.0, Vec2(, ));
auto scale = ScaleBy::create(2.0, 0.7);
auto sequence = Sequence::create(moveBy, scale, NULL);
auto sequenceRever = Sequence::create(sequence, sequence->reverse(), NULL);
sprite->runAction(sequence);
sprite->runAction(sequenceRever); /* Repeat 重复动作
* @param action 要重复的动作, 可以是Sequence, Spawn类型的
* @param times 重复次数
*/
auto repeat = Repeat::create(sequence, );
sprite->runAction(repeat); /* RepeatForever 永久性重复动作
* @param action 要重复的动作, 可以是Sequence, Spawn类型的
*/
auto repeatForever = RepeatForever::create(sequence, );
sprite->runAction(repeatForever);

//Follow 创建的时候需要设置要追随的精灵,然后让背景来执行follow  (有待继续研究)

/**

* 创建动作可以设置范围, 也可以不设置

* @param followedNode  追随的精灵

* @param rect  如果没有设置, 表示RECT::ZERO, 表示没有范围

*/

Size s = Director::getInstance()->getWinSize();

log("+++++++++s.width:%f, s.height:%f", s.width, s.height);

sprite->setPosition(Vec2(-200, s.height / 2));

auto move      = MoveBy::create(2, Vec2(s.width * 3, 0));

auto move_back = move->reverse();

auto seq       = Sequence::create(move, move_back, NULL);

auto rep       = RepeatForever::create(seq);

sprite->runAction(rep);

this->runAction(Follow::create(sprite, Rect(0, 0, s.width * 2 - 100, s.height)));

顺序执行

Action * action = Sequence::create(moveby, jumpby, rotateby, NULL);

同时执行

Action * action = Spawn::create(moveby, jumpby, rotateby, NULL);

动作Action的更多相关文章

  1. Java基础之处理事件——使用动作Action(Sketcher 6 using Action objects)

    控制台程序. 动作Action是任何实现了javax.swing.Action接口的类的对象.这个接口声明了操作Action对象的方法,例如,存储与动作相关的属性.启用和禁用动作.Action接口扩展 ...

  2. Learning Cocos2d-x for WP8(8)——动作Action

    原文:Learning Cocos2d-x for WP8(8)--动作Action 游戏很大程度上是由动作画面支撑起来的. 动作分为两大类:瞬间动作和延时动作. 瞬间动作基本等同于设置节点的属性,延 ...

  3. 08 Zabbix4.0系统配置事件通知 - 动作Action

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 08 Zabbix4.0系统配置事件通知 - 动作Action 请点击查看Zabbix3.0.8版 ...

  4. 创建一个动作-Action类:

    让我们创建一个Java文件HelloWorldAction.java的Java资源> SRC下一个的包名com.yiibai.struts2与下面的内容. package com.yiibai. ...

  5. libgdx学习记录6——动作Action

    libgdx中的Action类能够有效的帮助我们实现位移.旋转.缩放.淡入淡出等效果,对游戏的设计很有用. Action是一个抽象类,本身不可以实例化.一般使用的它的继承类,常用的有 MoveToAc ...

  6. Asp.Net MVC学习总结(二)——控制器与动作(Controller And Action)

    一.理解控制器 1.1.什么是控制器 控制器是包含必要的处理请求的.NET类,控制器的角色封装了应用程序逻辑,控制器主要是负责处理请求,实行对模型的操作,选择视图呈现给用户. 简单理解:实现了ICon ...

  7. Struts2 In Action笔记_页面到动作的数据流入和流出

    因为回答百度知道的一个问题,仔细查看了<Struts2 In Action>,深入细致的看了 “数据转移OGNL 和 构建视图-标签”,很多东西才恍然大悟. 一直觉得国外写的书很浮,不具有 ...

  8. ASP.NET MVC动作过滤器

    ASP.NET MVC提供了4种不同的动作过滤器(Aciton Filter). 1.Authorization Filter 在执行任何Filter或Action之前被执行,用于身份验证 2.Act ...

  9. 一步步学习ASP.NET MVC3 (7)——Controller,Action,ActionResult

    请注明转载地址:http://www.cnblogs.com/arhat 前面几章我们讲解的都是关于View方面的知识,虽然还有很多关于View的知识没有讲,但是没关系,我们在后面使用到的时候在讲解, ...

随机推荐

  1. 基于byte[]的HTTP协议头分析代码

    smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 基于byte[]的HTTP协议头分析代码 最近需要为组件实现一个HTTP的扩展包,所以简单地实现 ...

  2. java使用javamail读取邮箱(收件箱为例)

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...

  3. D12

    orz!=-=今天莫名爆人品..表示受到了惊吓.. 一下子从rank20-30+,突然间蹦到了rank3..=-=可怕.. 或许是因为T1有看过啊类似的啊..然后T3又被40指点了一下,T2打了个暴力 ...

  4. [整理]在命令行执行 UIAutomation

    instruments -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/Automati ...

  5. LESS编译方案

    我的LESS编译方案 2013-08-07 10:22 by 逆风之羽, 469 阅读, 2 评论, 收藏, 编辑 背景 近期项目前端决定使用less,简单介绍一下,详细信息有兴趣查看官方文档(htt ...

  6. sql数据库的备份还原问题

    sql数据库的备份还原问题 今天工作中犯了一个严重的错误,就是在sql中写了一个update语句,还没写条件呢,结果误按了F5,唉,太佩服自己啦...这个脑子怎么不管用了呢?? 唉不说了,我在网上翻来 ...

  7. MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在

    MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在 我们在写sql 脚本的时候经常会用到临时表,有时间也需要根据临时表是否存在做一些逻辑处理.还好sql server已经集 ...

  8. 【Win32API】SendInput ERROR_BUSY 错误原因

    最近需要解决一个Windows上模拟键盘输入的问题, 使用SendInput这个API来实现的.当我从另外一台机器给当前机器发送一条键盘指令时,发现SendInput一直是成功的,但是没有看到任何输入 ...

  9. Java远程调用邮件服务器,实现邮件发送

    写这篇文章的背景是公司Android客户端需要实现一个功能,实现类似于密码找回或者用户注册完发送一个邮件给用户的功能,当然这些逻辑客户端只负责请求自己的服务端,自己的服务端再去请求邮件服务器. 邮件服 ...

  10. 关于三星设备 Activity.onDestroy() 被调用。显示“开发者选项”

    昨天在三星的Galaxy s4上测试自己的App时,在Activity页面间跳转的时候,第一个Activity的onDestory()总是被调用,导致从第二个Activity返回的时候,第一个Acti ...