Cocos2dx 动作函数

前端之家收集整理的这篇文章主要介绍了Cocos2dx 动作函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


  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. //
  19. @H_403_179@

    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. }

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

猜你在找的Cocos2d-x相关文章