【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-延时动作

来源:互联网 发布:显卡测试软件 编辑:程序博客网 时间:2024/05/19 06:51
【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-延时动作



延时动作就是指动作完成需要一定时间,延时做的的共同基类是CCIntervalAction。(包含了组合动作类)    
基础参数actionWithDuration,完成这个动作需要的时间

事例:
id actions=[CCXxxxx actionWithDuration:time Xxxxx:xxx];

[sprite runAction:actions];


Cocos2d-iPhone提供以下瞬时动作:
XxxxTo:意味着运动到指定的位置。XxxxBy:意味着运动到按照指定的 x、y增量的位置。(x、y 可以是负值)    

CGSize s = [[CCDirector sharedDirector] winSize];//获取屏幕尺寸

id actions=nil;

ccBezierConfig bezier;

  移动到 –CCMoveTo(按当前位置移动到s.width -50, s.height -50)        
actions=[CCMoveTo actionWithDuration:2 position:ccp(s.width -50, s.height -50) ];


  移动–CCMoveBy(当前位置X负方向移动50 y负方向移动50)

action=[CCMoveByactionWithDuration:2position:ccp(-50, -50)];



  跳跃到 – CCJumpTo (设置终点位置和跳跃的高度和次数)

 action=[CCJumpToactionWithDuration:2position:ccp(150,50)height:30jumps:5];



  跳跃 – CCJumpBy    

action=[CCJumpByactionWithDuration:2position:ccp(100,100)height:30jumps:5];



  贝塞尔 – CCBezierBy(支持3次贝塞尔曲线:P0-起点,P1-起点切线方向,P2-终点切线方向,P3-终点.)

bezier.controlPoint_1 =ccp(0, s.height/2);

bezier.controlPoint_2 =ccp(300, -s.height/2);

bezier.endPosition =ccp(100,100);

action=[CCBezierByactionWithDuration:3bezier:bezier];



放大到 – CCScaleTo (设置放大倍数,是浮点型)
action=[CCScaleToactionWithDuration:2scale:4];


  放大 – CCScaleBy(现有的基础上放大缩小)
action=[CCScaleByactionWithDuration:2scale:0.5];


  旋转到 –CCRotateTo

action=[CCRotateToactionWithDuration:2angle:180];



  旋转 –CCRotateBy

 action=[CCRotateByactionWithDuration:2angle:-180];



  闪烁 –CCBlink(设定闪烁次数)

action=[CCBlink actionWithDuration:3 blinks:5];



  色调变化到 –CCTintTo
action=[CCTintTo actionWithDuration:2 red:255 green:0 blue:0];



  色调变换 –CCTintBy

 action=[CCTintByactionWithDuration:0.5red:0green:0blue:255];



  变暗到 –CCFadeTo
action=[CCFadeToactionWithDuration:1opacity:80];


  由无变亮 –CCFadeIn

action=[CCFadeIn actionWithDuration:1.0f];



  由亮变无 –CCFadeOut 

action=[CCFadeOut actionWithDuration:1.0f];




//开始执行

[sprite runAction:actions];



截图


点我下载源码