您的位置:首页 > 移动开发 > Cocos引擎

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

2012-06-02 09:10 507 查看
【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];

截图



【点我下载源码】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐