动作Action
/**
* 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的更多相关文章
- Java基础之处理事件——使用动作Action(Sketcher 6 using Action objects)
控制台程序. 动作Action是任何实现了javax.swing.Action接口的类的对象.这个接口声明了操作Action对象的方法,例如,存储与动作相关的属性.启用和禁用动作.Action接口扩展 ...
- Learning Cocos2d-x for WP8(8)——动作Action
原文:Learning Cocos2d-x for WP8(8)--动作Action 游戏很大程度上是由动作画面支撑起来的. 动作分为两大类:瞬间动作和延时动作. 瞬间动作基本等同于设置节点的属性,延 ...
- 08 Zabbix4.0系统配置事件通知 - 动作Action
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 08 Zabbix4.0系统配置事件通知 - 动作Action 请点击查看Zabbix3.0.8版 ...
- 创建一个动作-Action类:
让我们创建一个Java文件HelloWorldAction.java的Java资源> SRC下一个的包名com.yiibai.struts2与下面的内容. package com.yiibai. ...
- libgdx学习记录6——动作Action
libgdx中的Action类能够有效的帮助我们实现位移.旋转.缩放.淡入淡出等效果,对游戏的设计很有用. Action是一个抽象类,本身不可以实例化.一般使用的它的继承类,常用的有 MoveToAc ...
- Asp.Net MVC学习总结(二)——控制器与动作(Controller And Action)
一.理解控制器 1.1.什么是控制器 控制器是包含必要的处理请求的.NET类,控制器的角色封装了应用程序逻辑,控制器主要是负责处理请求,实行对模型的操作,选择视图呈现给用户. 简单理解:实现了ICon ...
- Struts2 In Action笔记_页面到动作的数据流入和流出
因为回答百度知道的一个问题,仔细查看了<Struts2 In Action>,深入细致的看了 “数据转移OGNL 和 构建视图-标签”,很多东西才恍然大悟. 一直觉得国外写的书很浮,不具有 ...
- ASP.NET MVC动作过滤器
ASP.NET MVC提供了4种不同的动作过滤器(Aciton Filter). 1.Authorization Filter 在执行任何Filter或Action之前被执行,用于身份验证 2.Act ...
- 一步步学习ASP.NET MVC3 (7)——Controller,Action,ActionResult
请注明转载地址:http://www.cnblogs.com/arhat 前面几章我们讲解的都是关于View方面的知识,虽然还有很多关于View的知识没有讲,但是没关系,我们在后面使用到的时候在讲解, ...
随机推荐
- UIWebView的探索
UIWebView 说到iOS的UIWebView,应该会很快回忆起常用委托方法,异步loadRequest.stopLoading.reload方法等. 在此我总结一些容易忽略的属性和方法: 1. ...
- JavaScript学习--(智能社视频)
JavaScript学习,这是智能社官网上的JS视频,讲解的挺不错的,就是没有视频的demo,在视频中附上自己编写的一些demo... 下载地址:http://pan.baidu.com/s/1cPz ...
- 图解JS的传值与传址
//编程过程中经常会碰到传值,传址的问题!今天的主题就是关于传值.与传址. //先讲讲赋值操作 //下例是原始类型赋值操作 var a=1,b=a,a=2; console.log("a=& ...
- 新的IRepository接口+搜索和排序解耦(+基于Castle实现)
新的IRepository接口+搜索和排序解耦(+基于Castle实现) 经过了上篇IRepository和IRepository<T>的讨论[文章地址为:http://www.cnblo ...
- Define Constraints That Are Minimal and Sufficient 设定不多不少的约束
Define Constraints That Are Minimal and Sufficient 设定不多不少的约束 今天第二章第二节. 主管不在,然后暂时没什么任务,把第二节看了,然后整理一 ...
- 利用servicestack连接redis
利用servicestack连接redis 引言:作为少有的.net架构下的大型网站,stackoverflow今日发表了一篇文章,介绍了其技术体系,原文链接http://highscalabilit ...
- 一步步学习Python-django开发-Mac下搭建Python-Django环境
首先确定学习那一个版本,以之前对Python的接触,Python2.x 的版本仍然占据很大的市场.但作为初学者我还是决定学习新的版本,相信未来会逐渐转向3.x版本的. 其实搭建Python不是一件很难 ...
- Windows Store 手势编程小结
Windows Store 手势编程小结 最近完成了一个Windows Store上面的手势操作的页面.在这里总结了一下经验和心得,希望能和大家一起分享和讨论一下. 首先,要纠正一个误区,在Windo ...
- python logging info -> 将服务请求记录输出
在tornado 里面这样用 看看logging.warning() , logging.info() , 我们非常想用 zdaemon , 和 logging 将对系统的所有访问转换到服务器里面,作 ...
- Codeforces Round #193 (Div. 2)
题目地址: http://codeforces.com/contest/332 第一题:题目又臭又长,读了好长时间才读懂. n个人,你是0号,从0开始到n-1循环做动作,只要你前面三个人动作一样,你就 ...