加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx常见49种Action

发布时间:2020-12-14 21:33:50 所属栏目:百科 来源:网络整理
导读:http://blog.csdn.net/liuhong135541/article/details/24374227 本文转载自:http://blog.csdn.net/ff313976/article/details/23667209 bool HelloWorld::init() { ////////////////////////////// //1.superinitfirst if (!CCLayer::init()) return false ;

http://blog.csdn.net/liuhong135541/article/details/24374227

本文转载自:http://blog.csdn.net/ff313976/article/details/23667209

  1. boolHelloWorld::init()
  2. {
  3. //////////////////////////////
  4. //1.superinitfirst
  5. if(!CCLayer::init())
  6. returnfalse;
  7. }
  8. CCSprite*sp=CCSprite::create("Icon.png");
  9. sp->setPosition(ccp(150,150));
  10. addChild(sp,922);
  11. ////Action动作
  12. //
  13. // CCMoveBy创建一个移动的动作参数1:移动到目标坐标所需的时间参数2:目标坐标支持reverse可以获取其反向动作
  14. // CCMoveTo一样的
  15. //CCActionInterval*moveBy=CCMoveBy::create(5,ccp(300,100));
  16. //CCActionInterval*actionmoveback=moveBy->reverse();
  17. //sp->runAction(actionmoveback);
  18. //

  1. CCScaleTo作用:创建一个缩放的动作
  2. // 参数1:达到缩放大小所需的时间
  3. // 参数2:缩放的比例
  4. //CCActionInterval*scaleto=CCScaleTo::create(2,2);
  5. //sp->runAction(scaleto);

  6. //
  7. CCScaleBy作用:创建一个缩放的动作
  8. // 参数1:达到缩放大小的所需时间参数2:缩放比例
  9. //CCActionInterval*scaleby=CCScaleBy::create(2,2);
  10. //CCActionInterval*actionbyback=scaleby->reverse();
  11. //sp->runAction(actionbyback);
  12. // CCRotateTo
  13. // 作用创建一个旋转的动作
  14. // 参数1:旋转的时间参数2:旋转饿角度0-360
  15. //CCActionInterval*rotateto=CCRotateTo::create(2,90);
  16. //sp->runAction(rotateto);
  17. CCSkewTo
  18. // 作用创建一个倾斜的动作
  19. // 参数1:倾斜到特定角度所需的时间
  20. // 参数2:x轴的倾斜角度
  21. // 参数3:y轴的倾斜角度
  22. //CCActionInterval*skewto=CCSkewTo::create(2,10,10);
  23. //sp->runAction(skewto);
  24. CCJumpTo
  25. // 作用:创建一个跳的动作
  26. // 参数1:跳到目标动作位子的所需时间
  27. // 参数2:目标位置
  28. // 参数3:跳的高度
  29. // 参数4跳到目标位置的次数
  30. //CCActionInterval*jumpto=CCJumpTo::create(2,200),50,4);
  31. //sp->runAction(jumpto);

  32. //
  33. CCJumpBy
  34. // 作用:创建一个跳的动作
  35. // 参数1:跳到目标动作位子的所需时间
  36. // 参数2:目标位置
  37. // 参数3:跳的高度
  38. // 参数4跳到目标位置的次数
  39. // 这个支持方向动作reverse
  40. //CCActionInterval*jumpby=CCJumpBy::create(3,0); background-color:inherit">//CCActionInterval*ac=jumpby->reverse();
  41. //sp->runAction(ac);
  42. //CCBezier
  43. // ccBezierConfig结构体
  44. //ccBezierConfigbezierCon;
  45. //bezierCon.controlPoint_1=CCPointMake(200,150);//控制点1
  46. //bezierCon.controlPoint_2=CCPointMake(200,160);//控制点2
  47. //bezierCon.endPosition=CCPointMake(340,100);//结束位置
  48. CCBezierTo
  49. //创建一个贝塞尔曲线运动的动作
  50. //参数1:贝塞尔曲线运动的时间
  51. //参数2:ccBezierConfig结构体
  52. //CCActionInterval*action=CCBezierTo::create(2,bezierCon);
  53. //CCActionInterval*action=CCBezierBy::create(3,bezierCon);//支持反向
  54. //CCActionInterval*action1=action->reverse();
  55. //sp->runAction(action1);
  56. CCFadeIn
  57. //作用:创建一个渐变出现的动作
  58. //参数是时间
  59. //CCActionInterval*fadein=CCFadeIn::create(2);
  60. //sp->runAction(fadein);
  61. CCFadeOut
  62. //作用:创建一个渐变消失的动作
  63. //CCActionInterval*fadeout=CCFadeOut::create(2);
  64. //sp->runAction(fadeout);
  65. CCTintTo
  66. //作用:创建一个色彩变化的消失动作
  67. //参数1:色彩变化的动作
  68. //参数2:红色分量
  69. //参数3:蓝色分量
  70. //CCActionInterval*tinto=CCTintTo::create(3,255,0);
  71. //sp->runAction(tinto);
  72. CCTintBy
  73. //作用:创建一个色彩变化的出现动作
  74. //参数1:色彩变化的动作
  75. //参数2:红色分量
  76. //参数3:蓝色分量但是家了reverse就是反向的
  77. //CCActionInterval*tintby=CCTintBy::create(3,255);
  78. //CCActionInterval*tintby1=tintby->reverse();
  79. //sp->runAction(tintby1);
  80. CCBlink
  81. //作用:创建一额闪烁的动作
  82. //参数1:闪烁完成的时间
  83. //参数2:闪烁的次数
  84. //CCActionInterval*blink=CCBlink::create(3,10);
  85. //sp->runAction(blink);
  86. CCDelayTime
  87. //创建一个延迟的动作
  88. //参数延迟的时间
  89. //CCActionInterval*delaytime=CCDelayTime::create(3);
  90. //sp->runAction(delaytime);
  91. //CCOrbitCamera
  92. //作用:创建一个球面坐标轨迹进行旋转的动作
  93. //参数1:旋转轨迹的时间
  94. //参数2:起始半径
  95. //参数3:半径差
  96. //参数4:起始z角
  97. //参数5:旋转z角的差
  98. //参数6:起始x角
  99. //参数7:旋转x角的差
  100. //CCActionInterval*orbitcamera=CCOrbitCamera::create(3,45,180,90,0);
  101. //sp->runAction(orbitcamera);
  102. CCCardinalSpline
  103. //作用:创建数组点的数组
  104. CCPointArray*array=CCPointArray::create(20);
  105. array->addControlPoint(ccp(0,0));
  106. array->addControlPoint(ccp(210,0));
  107. array->addControlPoint(ccp(210,240));
  108. array->addControlPoint(ccp(0,160));
  109. CCCardinalSplineTo
  110. //作用:创建一个样条曲线轨迹的动作
  111. //参数1:完成轨迹所需的时间
  112. //参数2:控制点的坐标数组
  113. //拟合度其值=0路径最柔和
  114. //CCActionInterval*CardinalSplineTo=CCCardinalSplineTo::create(3,array,0); background-color:inherit">//sp->runAction(CardinalSplineTo);
  115. // CCCardinalSplineBy
  116. //作用:创建一个样条曲线轨迹的动作
  117. //参数1:完成轨迹所需的时间
  118. //参数2:控制点的坐标数组
  119. //拟合度其值=0路径最柔和
  120. //CCActionInterval*CardinalSplineBy=CCCardinalSplineBy::create(3,0); background-color:inherit">//sp->runAction(CardinalSplineBy);
  121. //CCCatmullRomToCCCatmullRomBY
  122. //作用:创建一个样条插值轨迹
  123. //参数1:完成轨迹的时间
  124. //参数2:控制点的数组坐标
  125. //CCActionInterval*catmullRomTo=CCCatmullRomTo::create(3,array);
  126. //sp->runAction(catmullRomTo);
  127. CCFollow
  128. //作用:创建一个跟随动作
  129. //参数1:跟随的目标对象
  130. //跟随范围,离开范围就不再跟随
  131. //创建一个参照物spT
  132. //CCSprite*spt=CCSprite::create("Icon.png");
  133. //spt->setPosition(ccp(420,40));
  134. //addChild(spt);
  135. //sp->runAction(CCMoveTo::create(3,ccp(940,sp->getPositionY())));
  136. //CCFollow*follow=CCFollow::create(sp,CCRectMake(0,960,320));
  137. //this->runAction(follow);
  138. CCEaseBounceIn
  139. //目标动作
  140. //CCActionInterval*move=CCMoveTo::create(3,sp->getPositionY()));
  141. // 让目标动作缓慢开始
  142. // 参数:目标动作
  143. //CCActionInterval*EaseBounceIn=CCEaseBounceIn::create(move);
  144. //sp->runAction(EaseBounceIn);
  145. CCEaseBounceOut
  146. //作用:让目标动作赋予反弹力,且以目标动作结束位子开始反弹
  147. //参数目标动作
  148. //CCActionInterval*easeBounceOut=CCEaseBounceOut::create(move);
  149. //sp->runAction(easeBounceOut);
  150. CCEaseBounceInOut
  151. //作用:让目标动作赋予反弹力,且以目标动作起始与结束位子开始反弹
  152. //CCActionInterval*easeBounceInOut=CCEaseBounceInOut::create(move);
  153. //sp->runAction(easeBounceInOut);
  154. CCEaseBackIn
  155. //作用:让目标动作赋予回力,且以目标动作起点位置作为回力点
  156. //参数:目标动作
  157. //CCActionInterval*easeBackIn=CCEaseBackIn::create(move);
  158. //sp->runAction(easeBackIn);
  159. CCEaseBackOut
  160. //作用:让目标动作赋予回力,且以目标动作终点位置作为回力点
  161. //CCActionInterval*easeBackOut=CCEaseBackOut::create(move);
  162. //sp->runAction(easeBackOut);
  163. CCEaseBackInOut
  164. //作用:让目标动作赋予回力,且以目标动作起点和终点位置作为回力点
  165. //CCActionInterval*easeBackInOut=CCEaseBackInOut::create(move);
  166. //sp->runAction(easeBackInOut);
  167. CCEaseElasticIn
  168. //作用:让目标动作赋予弹性,且以目标动作起点位子赋予弹性
  169. // 参数:目标动作
  170. //CCActionInterval*easeElasticIn=CCEaseElasticIn::create(move);
  171. //sp->runAction(easeElasticIn);
  172. CCEaseElasticOut
  173. //作用:让目标动作赋予弹性,且以目标动作终点位子赋予弹性
  174. //CCActionInterval*easeElasticOut=CCEaseElasticOut::create(move);
  175. //sp->runAction(easeElasticOut);
  176. CCEaseElasticInOut
  177. //作用:让目标动作赋予弹性,且以目标动作起点和终点位子赋予弹性
  178. //CCActionInterval*easeElasticInOut=CCEaseElasticOut::create(move);
  179. //sp->runAction(easeElasticInOut);
  180. CCEaseExponentialIn
  181. //让目标动作缓慢开始
  182. //CCActionInterval*easeExponentialIn=CCEaseExponentialIn::create(move);
  183. //sp->runAction(easeExponentialIn);
  184. CCEaseExponentialOut
  185. //让目标动作缓慢中止
  186. //CCActionInterval*easeExponentialIn=CCEaseExponentialOut::create(move);
  187. CCEaseExponentialInOut
  188. //让目标动作缓慢开始和中止
  189. //CCActionInterval*easeExponentialInOut=CCEaseExponentialInOut::create(move);
  190. //sp->runAction(easeExponentialInOut);
  191. CCEaseRateAction
  192. //作用:让目标动作设置速率
  193. //参数1:目标动作
  194. //参数2:速率
  195. //CCActionInterval*move=CCMoveTo::create(5,sp->getPositionY()));
  196. //CCActionInterval*easeRateAction=CCEaseRateAction::create(move,3);
  197. //sp->runAction(easeRateAction);
  198. CCEaseSineIn
  199. //作用:动作由慢到快
  200. //CCActionInterval*easeSineIn=CCEaseSineIn::create(move);
  201. //sp->runAction(easeSineIn);
  202. CCEaseSineOut
  203. //作用:动作由快到慢
  204. //CCActionInterval*easeSineOut=CCEaseSineOut::create(move);
  205. //sp->runAction(easeSineOut);
  206. CCEaseSineInOut
  207. //作用:动作由慢到快再快到慢
  208. //CCActionInterval*easeSineInOut=CCEaseSineInOut::create(move);
  209. //sp->runAction(easeSineInOut);
  210. CCSpeed
  211. //作用:让目标动作运行速度加倍
  212. //参数1:目标动作
  213. //参数2:倍速
  214. //CCActionInterval*move=CCMoveTo::create(10,0); background-color:inherit">//CCSpeed*speed=CCSpeed::create(move,100);
  215. //sp->runAction(speed);
  216. CCSpawn
  217. // 作用:让多个动作同时执行
  218. //参数:目标动作的可变参数
  219. //CCActionInterval*scale=CCScaleTo::create(2,3);
  220. //CCActionInterval*rotate=CCRotateTo::create(4,190);
  221. //CCFiniteTimeAction*spawn=CCSpawn::create(move,scale,rotate,NULL);
  222. //sp->runAction(spawn);
  223. CCSequence
  224. //作用:让多个动作按照前后顺序逐一执行
  225. //参数:目标动作的可变参数
  226. //CCActionInterval*move=CCMoveTo::create(2,0); background-color:inherit">//CCFiniteTimeAction*seq=CCSequence::create(move,0); background-color:inherit">//sp->runAction(seq);
  227. //扩展如果要对目标动作全部进行方向运动,可以使用如下形式操作
  228. //CCFiniteTimeAction*seq=CCSequence::create(moveby,scaleby,...NULL);
  229. //CCFiniteTimeAction*reverseseq=CCSequence::create(seq,seq->reverse(),NULL)
  230. //注意CCSequence中的所有动作都必须支持reverse函数,否则会出现异常
  231. //CCActionInterval*move=CCMoveBy::create(2,0); background-color:inherit">//CCActionInterval*scale=CCScaleBy::create(2,0); background-color:inherit">//CCFiniteTimeAction*reveseseq=CCSequence::create(seq,NULL);
  232. //sp->runAction(reveseseq);
  233. CCRepeat
  234. //作用:对目标动作进行重复运动(目标动作可以是CCSequence,CCSpawn)
  235. //参数2:重复次数
  236. //CCActionInterval*move2=CCMoveTo::create(2,ccp(100,100));
  237. //CCFiniteTimeAction*repeat=CCRepeat::create(seq,0); background-color:inherit">//sp->runAction(repeat);
  238. CCRepeatForever
  239. //作用:对目标动作进行永久性的重复运动(目标动作可以是CCSequence,CCSpawn)
  240. //CCActionInterval*move=CCMoveTo::create(1,0); background-color:inherit">//CCActionInterval*move1=CCMoveTo::create(1,move1,0); background-color:inherit">//CCActionInterval*repeatForever=CCRepeatForever::create((CCActionInterval*)seq);
  241. //sp->runAction(repeatForever);
  242. CCCallFunc
  243. //作用:创建一个回调动作(调用不带参数的回调方法);
  244. //参数1:目标动作
  245. //参数2:目标回调函数
  246. //CCCallFunc*funcall=CCCallFunc::create(this,callfunc_selector(HelloWorld::callbackC));
  247. //sp->runAction(seq);
  248. CCCallFuncN
  249. //作用:创建一个回调动作(调用带一个参数的回调方法);
  250. //参数2:目标回调函数
  251. //CCCallFuncN*funcall=CCCallFuncN::create(this,callfuncN_selector(HelloWorld::callbackN));
  252. CCCallFuncND
  253. //作用:创建一个回调动作(调用带两个参数的回调方法);
  254. CCActionInterval*move=CCMoveTo::create(1,sp->getPositionY()));
  255. CCCallFuncND*funcall=CCCallFuncND::create(this,callfuncND_selector(HelloWorld::callbackND),(void*)0xbebabeba);
  256. CCFiniteTimeAction*seq=CCSequence::create(move,NULL);
  257. sp->runAction(seq);
  258. true;
  259. voidHelloWorld::callbackC()
  260. CCLOG("callbackC");
  261. voidHelloWorld::callbackN(CCNode*sender)
  262. {
  263. CCLOG("callbackN");
  264. }
  265. voidHelloWorld::callbackND(CCNode*sender,void*data)
  266. CCLOG("callbackND");
  267. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读