cocos2dx 3.x(常见的46种动作)
来源:互联网 发布:迅捷聊天记录恢复软件 编辑:程序博客网 时间:2024/05/21 10:24
1 Sprite * sp= Sprite::create("Icon.png"); 2 sp->setPosition(Vec2(150, 150)); 3 addChild(sp,0,922); 4 5 // Action动作 6 7 // MoveBy 创建一个移动的动作 参数1:移动到目标坐标所需的时间 参数2:目标坐标 支持reverse 可以获取其反向动作 8 // MoveTo 一样的 9 ActionInterval * moveBy = MoveBy::create(5,Vec2(300, 100)); 10 ActionInterval * actionmoveback= moveBy->reverse(); 11 sp->runAction(actionmoveback); 12 13 // ScaleTo 作用:创建一个缩放的动作 14 // 参数1:达到缩放大小所需的时间 15 // 参数2 :缩放的比例 16 ActionInterval * scaleto = ScaleTo ::create(2, 2); 17 sp->runAction(scaleto); 18 19 // ScaleBy 作用:创建一个缩放的动作 20 // 参数1:达到缩放大小的所需时间 参数2:缩放比例 21 ActionInterval * scaleby = ScaleBy::create(2, 2); 22 ActionInterval * actionbyback = scaleby->reverse(); 23 sp->runAction(actionbyback); 24 25 // RotateTo 26 // 作用创建一个旋转的动作 27 // 参数1:旋转的时间 参数2:旋转饿角度 0 - 360 28 ActionInterval * rotateto = RotateTo::create(2, 90); 29 sp->runAction(rotateto); 30 31 // SkewTo 32 // 作用创建一个倾斜的动作 33 // 参数1:倾斜到特定角度所需的时间 34 // 参数2:x轴的倾斜角度 35 // 参数3:y轴的倾斜角度 36 ActionInterval * skewto = SkewTo::create(2, 10, 10); 37 sp->runAction(skewto); 38 39 // JumpTo 40 // 作用:创建一个跳的动作 41 // 参数1:跳到目标动作位子的所需时间 42 // 参数2:目标位置 43 // 参数3:跳的高度 44 // 参数4跳到目标位置的次数 45 ActionInterval* jumpto = JumpTo ::create(2, Vec2(300, 200), 50, 4 ); 46 sp->runAction(jumpto); 47 48 // JumpBy 49 // 作用:创建一个跳的动作 50 // 参数1:跳到目标动作位子的所需时间 51 // 参数2:目标位置 52 // 参数3:跳的高度 53 // 参数4跳到目标位置的次数 54 // 这个支持方向动作reverse 55 ActionInterval * jumpby = JumpBy ::create(3, Vec2(300, 200), 50, 4); 56 ActionInterval * ac= jumpby->reverse(); 57 sp->runAction(ac); 58 59 60 61 // Bezier 62 // BezierConfig结构体 63 BezierConfig bezierCon; 64 bezierCon.controlPoint_1=Vec2(200, 150);//控制点1 65 bezierCon.controlPoint_2=Vec2(200, 160);//控制点2 66 bezierCon.endPosition =Vec2(340, 100);// 结束位置 67 //BezierTo 68 // 创建一个贝塞尔曲线运动的动作 69 // 参数1:贝塞尔曲线运动的时间 70 // 参数2 : BezierConfig结构体 71 ActionInterval * action = BezierTo::create(2, bezierCon); 72 ActionInterval * action1 = BezierBy::create(3, bezierCon);//支持反向 73 ActionInterval * action2 = action->reverse(); 74 sp->runAction(action1); 75 76 77 //FadeIn 78 //作用:创建一个渐变出现的动作 79 //参数是时间 80 ActionInterval * fadein = FadeIn::create(2); 81 sp->runAction(fadein); 82 83 84 // FadeOut 85 // 作用:创建一个渐变消失的动作 86 // 参数是时间 87 ActionInterval * fadeout = FadeOut::create(2); 88 sp->runAction(fadeout); 89 90 91 // TintTo 92 // 作用:创建一个色彩变化的消失动作 93 // 参数1:色彩变化的动作 94 // 参数2 :红色分量 95 // 参数3:蓝色分量 96 ActionInterval * tinto = TintTo ::create(3, 255, 255, 0); 97 sp->runAction(tinto); 98 99 100 // TintBy101 // 作用:创建一个色彩变化的出现动作102 // 参数1:色彩变化的动作103 // 参数2 :红色分量104 // 参数3:蓝色分量 但是家了reverse就是 反向的105 ActionInterval * tintby = TintBy::create(3, 0, 255, 255);106 ActionInterval * tintby1 = tintby->reverse();107 sp->runAction(tintby1);108 109 // Blink110 // 作用 :创建一额闪烁的动作111 // 参数1:闪烁完成的时间112 // 参数2:闪烁的次数113 114 ActionInterval * blink = Blink ::create(3, 10);115 sp->runAction(blink);116 117 118 119 // DelayTime120 // 创建一个延迟的动作121 // 参数 延迟的时间122 ActionInterval * delaytime = DelayTime::create(3);123 sp->runAction(delaytime);124 125 // OrbitCamera126 // 作用:创建一个球面坐标轨迹进行旋转的动作127 // 参数1 : 旋转轨迹的时间128 // 参数2 :起始半径129 // 参数3:半径差130 // 参数4:起始z角131 // 参数5:旋转z角的差132 // 参数6:起始x角133 // 参数7:旋转x角的差134 ActionInterval * orbitcameraa = OrbitCamera::create(3, 10, 0, 45, 180, 90, 0);135 sp->runAction(orbitcameraa);136 137 138 // CardinalSpline139 // 作用:创建数组 点的数组140 PointArray * array = PointArray::create(20);141 array->addControlPoint(Vec2(0,0));142 array->addControlPoint(Vec2(210,0));143 array->addControlPoint(Vec2(210,240));144 array->addControlPoint(Vec2(0,160));145 array->addControlPoint(Vec2(0,0));146 // CardinalSplineTo147 // 作用:创建一个样条曲线轨迹的动作148 // 参数1:完成轨迹所需的时间149 // 参数2:控制点的坐标数组150 // 拟合度 其值= 0 路径最柔和151 ActionInterval * CardinalSplineTo=CardinalSplineTo::create(3, array, 0);152 sp->runAction(CardinalSplineTo);153 154 155 // CardinalSplineBy156 // 作用:创建一个样条曲线轨迹的动作157 // 参数1:完成轨迹所需的时间158 // 参数2:控制点的坐标数组159 // 拟合度 其值= 0 路径最柔和160 ActionInterval * CardinalSplineBy = CardinalSplineBy::create(3, array, 0);161 sp->runAction(CardinalSplineBy);162 163 // CatmullRomTo CatmullRomBY164 // 作用:创建一个样条插值轨迹165 // 参数1:完成轨迹的时间166 // 参数2:控制点的数组坐标167 ActionInterval * catmullRomTo = CatmullRomTo::create(3, array);168 sp->runAction(catmullRomTo);169 170 // Follow171 // 作用:创建一个跟随动作172 // 参数1:跟随的目标对象173 // 跟随范围,离开范围就不再跟随174 //创建一个参照物spT175 Sprite * spt = Sprite::create("Icon.png");176 spt->setPosition(Vec2(420,40));177 addChild(spt);178 sp->runAction(MoveTo::create(3, Vec2(940,sp->getPositionY())));179 180 Follow * follow = Follow::create(sp,Rect(0, 0, 960, 320));181 this-> runAction(follow);182 183 // EaseBounceIn184 // 目标动作185 ActionInterval* move = MoveTo::create(3, Vec2(300, sp->getPositionY()));186 //// 让目标动作缓慢开始187 //// 参数:目标动作188 ActionInterval * EaseBounceIn = EaseBounceIn::create(move);189 sp->runAction(EaseBounceIn);190 191 // EaseBounceOut192 // 作用:让目标动作赋予反弹力,且以目标动作结束位子开始反弹193 // 参数目标动作194 ActionInterval * easeBounceOut = EaseBounceOut ::create(move);195 sp->runAction(easeBounceOut);196 197 // EaseBounceInOut198 // 作用:让目标动作赋予反弹力,且以目标动作起始与结束位子开始反弹199 ActionInterval * easeBounceInOut= EaseBounceInOut::create(move);200 sp->runAction(easeBounceInOut);201 202 // EaseBackIn203 // 作用:让目标动作赋予回力 , 且以目标动作起点位置作为回力点204 // 参数:目标动作205 ActionInterval * easeBackIn = EaseBackIn::create(move);206 sp->runAction(easeBackIn);207 208 // EaseBackOut209 // 作用:让目标动作赋予回力 , 且以目标动作终点位置作为回力点210 // 参数:目标动作211 ActionInterval *easeBackOut = EaseBackOut::create(move);212 sp->runAction(easeBackOut);213 214 // EaseBackInOut215 // 作用:让目标动作赋予回力 , 且以目标动作起点和终点位置作为回力点216 // 参数:目标动作217 ActionInterval * easeBackInOut = EaseBackInOut::create(move);218 sp->runAction(easeBackInOut);219 220 // EaseElasticIn221 // 作用:让目标动作赋予弹性 ,且以目标动作起点位子赋予弹性222 // 参数:目标动作223 ActionInterval * easeElasticIn= EaseElasticIn::create(move);224 sp->runAction(easeElasticIn);225 226 // EaseElasticOut227 // 作用:让目标动作赋予弹性 ,且以目标动作终点位子赋予弹性228 // 参数:目标动作229 ActionInterval *easeElasticOut = EaseElasticOut::create(move);230 sp->runAction(easeElasticOut);231 232 // EaseElasticInOut233 // 作用:让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性234 // 参数:目标动作235 ActionInterval *easeElasticInOut = EaseElasticOut::create(move);236 sp->runAction(easeElasticInOut);237 238 239 // EaseExponentialIn240 // 让目标动作缓慢开始241 // 参数:目标动作242 ActionInterval * easeExponentialIn= EaseExponentialIn::create(move);243 sp->runAction(easeExponentialIn);244 245 // EaseExponentialOut246 // 让目标动作缓慢中止247 // 参数:目标动作248 ActionInterval * easeExponentialInt= EaseExponentialOut::create(move);249 sp->runAction(easeExponentialInt);250 251 // EaseExponentialInOut252 // 让目标动作缓慢开始和中止253 // 参数:目标动作254 ActionInterval * easeExponentialInOut= EaseExponentialInOut::create(move);255 sp->runAction(easeExponentialInOut);256 257 // EaseRateAction258 // 作用 : 让目标动作设置速率259 // 参数1:目标动作260 // 参数2:速率261 ActionInterval * moveto = MoveTo::create(5, p(300,sp->getPositionY()));262 ActionInterval * easeRateAction = EaseRateAction::create(move, 3);263 sp->runAction(easeRateAction);264 265 // EaseSineIn266 // 作用:动作由慢到快267 // 参数:目标动作268 ActionInterval * easeSineIn = EaseSineIn::create(move);269 sp->runAction(easeSineIn);270 271 // EaseSineOut272 // 作用:动作由快到慢273 // 参数:目标动作274 ActionInterval * easeSineOut = EaseSineOut::create(move);275 sp->runAction(easeSineOut);276 277 // EaseSineInOut278 // 作用:动作由慢到快再快到慢279 // 参数:目标动作280 ActionInterval * easeSineInOut = EaseSineInOut::create(move);281 sp->runAction(easeSineInOut);282 283 284 285 // Speed286 // 作用:让目标动作运行速度加倍287 // 参数1:目标动作288 // 参数2:倍速289 ActionInterval * move = MoveTo::create(10, p(300,sp->getPositionY()));290 Speed * speed = Speed::create(move, 100);291 sp->runAction(speed);292 293 // Spawn294 // 作用:让多个动作同时执行295 // 参数:目标动作的可变参数296 ActionInterval * move1 = MoveTo::create(10, p(300,sp->getPositionY()));297 ActionInterval * scale = ScaleTo::create(2, 3);298 ActionInterval * rotate = RotateTo::create(4, 190);299 FiniteTimeAction * spawn = Spawn::create(move1,scale,rotate,NULL);300 sp->runAction(spawn);301 302 // Sequence303 // 作用:让多个动作按照前后顺序逐一执行304 // 参数:目标动作的可变参数305 ActionInterval * move2 = MoveTo::create(2, p(300, sp->getPositionY()));306 ActionInterval * scalet = ScaleTo::create(2, 3);307 FiniteTimeAction * seq= Sequence::create(move2,scalet,NULL);308 sp->runAction(seq);309 310 311 // 扩展如果要对目标动作全部进行方向运动,可以使用如下形式操作312 FiniteTimeAction *seqe= Sequence::create(moveby,scaleby,...NULL);313 FiniteTimeAction * reverseseq = Sequence::create(seqe,seq->reverse(),NULL)314 315 316 317 //注意 Sequence中的所有动作都必须支持reverse函数,否则会出现异常318 ActionInterval * move = MoveBy::create(2, p(300, sp->getPositionY()));319 ActionInterval * scale = ScaleBy::create(2, 3);320 FiniteTimeAction * seq= Sequence::create(move,scale,NULL);321 FiniteTimeAction * reveseseq = Sequence::create(seq,seq->reverse(),NULL);322 sp->runAction(reveseseq);323 324 325 326 327 // Repeat328 // 作用:对目标动作进行重复运动(目标动作可以是 Sequence , Spawn)329 // 参数1:目标动作330 // 参数2:重复次数331 ActionInterval * move = MoveTo::create(2, p(300, sp->getPositionY()));332 ActionInterval * move2 = MoveTo::create(2, p(100,100));333 FiniteTimeAction*seq = Sequence::create(move,move2,NULL);334 FiniteTimeAction *repeat = Repeat::create(seq, 3);335 sp->runAction(repeat);336 337 338 // RepeatForever339 // 作用:对目标动作进行永久性的重复运动(目标动作可以是 Sequence , Spawn)340 // 参数:目标动作341 ActionInterval * move = MoveTo::create(1, p(300, sp->getPositionY()));342 ActionInterval * move1 = MoveTo::create(1, p(100,100));343 FiniteTimeAction* seq = Sequence::create(move,move1,NULL);344 ActionInterval * repeatForever = RepeatForever::create(( ActionInterval* )seq);345 sp->runAction(repeatForever);346 347 // CallFunc348 // 作用:创建一个回调动作(调用不带参数的回调方法);349 // 参数1:目标动作350 // 参数2:目标回调函数351 ActionInterval * move = MoveTo::create(1, p(300, sp->getPositionY()));352 CallFunc * funcall= CallFunc::create(this, callfunc_selector(HelloWorld::callbackC));353 FiniteTimeAction * seq = Sequence::create(move,funcall,NULL);354 sp->runAction(seq);355 356 // CallFuncN357 // 作用:创建一个回调动作(调用 带一个参数的回调方法);358 // 参数1:目标动作359 // 参数2:目标回调函数360 ActionInterval * move = MoveTo::create(1, p(300, sp->getPositionY()));361 CallFuncN * funcall= CallFuncN::create(this, callfuncN_selector(HelloWorld::callbackN));362 FiniteTimeAction * seq = Sequence::create(move,funcall,NULL);363 sp->runAction(seq);364 365 // CallFuncND366 // 作用:创建一个回调动作(调用 带两个参数的回调方法);367 // 参数1:目标动作368 // 参数2:目标回调函数369 ActionInterval * move = MoveTo::create(1, p(300, sp->getPositionY()));370 CallFuncND * funcall= CallFuncND::create(this, callfuncND_selector(HelloWorld::callbackND) ,(void*)0xbebabeba);371 FiniteTimeAction * seq = Sequence::create(move,funcall,NULL);372 sp->runAction(seq);373 374
阅读全文
0 0
- cocos2dx 3.x(常见的46种动作)
- cocos2dx 3.x(常见的46种动作)转:
- cocos2dx常见的46种+22种动作详解
- cocos2dx常见的49种动作
- Cocos2dX常见的49种动作(action)
- cocos2dx 3.x 动作的认识
- cocos2dx 3.x 动作的认识
- cocos2dx 常见的动作汇总
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作详解
- cocos2dx常见的46中+22中动作详解
- WIN7 企业版激活
- LeetCode 20. Valid Parentheses
- AlertDialog 底部弹出去掉边距
- 线程同步(以下介绍三种方)
- List对象转化为JSON数据的操作类和应用
- cocos2dx 3.x(常见的46种动作)
- 适配iOS 11及iPhoneX iOS 11下tableView内容下移的问题
- 数据结构的非经典解法
- fold,foldLeft和foldRight区别与联系
- 安卓播放播放音乐
- How to make your issues in GitHub more professional? [Labels feature]
- 如何通过对应关系入库
- 程序设计C 实验五 题目五 一维动态数组的应用(0293)
- Java开发牛人十大必备网站