【iOS-Cocos2d游戏开发】Cocos2d-iPhone动作Action-延时动作
延时动作
:
就是指动作完成需要一定时间,
延时做的的共同基类是
CCIntervalAction。(包含了组合动作类)
基础参数actionWithDuration,完成这个动作需要的时间
事例:
id actions=[CCXxxxxactionWithDuration: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];
截图