动作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的知识没有讲,但是没关系,我们在后面使用到的时候在讲解, ...
随机推荐
- Linq无聊练习系列6--Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习
/*********************Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习******* ...
- c#中关于String、string,Object、object,Int32、int
在java中,string和String有着明显的区别,后者就是前者的一个封装.在c#中,好像是通用的,大部分情况下,两者互换并不会产生问题.今天特意查了一下资料,了解了一下两者的关系. 简单的讲,S ...
- iOS基础 - 触摸事件&手势识别
================================================================== 一.触摸事件&手势识别 1> 4个触摸事件,针对视图 ...
- 【IOS开发】如何画1像素的线
最近在项目中画了一根1像素的线,我是通过直接花一个但是通过PS查看,画了不止1个像素. 原代码语句: label1 = [[UILabel alloc] initWithFrame:CGRectMak ...
- map,set的模板[STL]
之前写某题单词查找的时候,有用到set,晚上写codeforces#497 div2 D题有用到map 感觉set,map的功能挺类似的,在此小结: 这里就不具体比较相同点和不同点了,免得看起来乱七八 ...
- ARM备忘
mov: move sub: subtract cmp: compare cmpls: ls--->lower or same, le--->less or equal, hi---> ...
- HashTable和HashSet中的类型陷阱
HashTable和HashSet中的类型陷阱 发现这个陷阱的起因是这样的:我现在有上百万字符串,我准备用TopK算法统计出出现次数做多的前100个字符串. 首先我用Hashtable统计出了每个字符 ...
- 消除Switch...Case的过程
http://www.cnblogs.com/happyframework/p/3300170.html 目录 备注需求第一遍代码(重复的代码)第二遍代码(消除重复)备注 备注返回目录 不要重复自己, ...
- .NET自带IOC
.NET自带IOC 本文主要把MEF作为一种IOC容器进行讲解,.net中可用的IOC容器非常多,如 CastleWindsor,Unity,Autofac,ObjectBuilder,Structu ...
- STM32通过FSMC驱动3.2寸液晶屏实现的音乐频谱
视频演示: http://player.youku.com/player.php/sid/XNDcyMDgwMTE2/v.swf 源码下载: lattice_ music _tft.rar(1.42 ...