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

cocos2dx 常见的49中动作

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

(编辑:李大同)

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

    推荐文章
      热点阅读