/**
* 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. LInux 2.6 编译内核出现Question

    问:在make menuconfig配置完之后(选的默认配置),然后就make出现如下错误:root@org:/usr/src/linux-2.6.32.27# make CHK include/li ...

  2. Windows Store 应用

    使用 Project Siena 生成一个 Windows Store 应用   继 App Studio 之后微软又一力作 Project Siena [Win8 应用神器]给初学开发 或 对 Wi ...

  3. exit与_exit

    一.main函数: 先从程序的执行开始谈起,C程序总是从main函数开始执行,当内核执行C程序时(使用了一个exec函数),在调用main函数前先调用一个特殊的启动例程.可执行程序 文件将此启动例程指 ...

  4. SugarSync的API总结

    SugarSync API App支持SugarSync网盘的前提: 1.AccessKeyID:xxx 2.Private Access Key:xxx 3.AppID:xxx 详细的API总结如下 ...

  5. C++库研究笔记——函数名的宏定义

    6.47 Function Names as Strings:http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html GCC provides th ...

  6. JavaScript插件——按钮

    Bootstrap3.0学习第二十四轮(JavaScript插件——按钮)   前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/ ...

  7. MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 五 --- 为List<MongoDBRef>增加扩展方法

    本次改动主要内容:为List<MongoDBRef>增加扩展方法 在MongoDB.Repository的使用过程中,发现在一个类中只定义一个List<MongoDBRef>是 ...

  8. 解决GOOGLE不能用的办法

    解决GOOGLE不能用的办法 首先平时用用百度还是足够了,但是说实话,百度在进行一些尝试搜索时真的没GOOGLE好用,经常找到一大堆广告,却不是自己想要的,比如搜索里面的双引号.and.site.fi ...

  9. jquery选择器之属性过滤选择器

    <style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray } </style> ...

  10. CenOS下安装Eclipse并配置PyDev

    为方便安装,使用SecureCRT来操作CentOS 1. 更改网络配置 虚拟机使用桥接方式上网(默认是NAT方式) 2. 启动后让虚拟机上网 3. 启动终端查看ip地址 4. 使用SecureCRT ...