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

Cocos2d-x基本概念整理(二)CCAction

2013-11-23 10:51 363 查看

动作CCAction

通过使用CCAction可以实现物体的各种动作效果。CCAction的动作作用于CCNode,使用方式如下代码
CCSprite* sprite = CCSprite::create("fish.png");
CCAction* action = CCMoveTo::create(1.0f, ccp(0, 0));
sprite->runAction(action);

CCAction是一个基类,各种运动是由它的派生类实现的。
一个CCAction只能使用一次。
绝大多数CCAction动作都派生自CCFiniteTimeAction类(还有控制动作,复合动作,视觉特效动作等)。
这个类定义了一个reverse方法,可以获得动作的逆动作。
CCFiniteTimeAction类又分为瞬时动作和持续性动作两类。

瞬时动作

瞬时动作是下一帧就会立刻执行的动作,有如下,英语好的话应该不难理解吧:)

CCPlace
CCFilpX, CCFilpY
CCShow, CCHide
CCCallFunc 调用一个函数

持续性动作

持续性动作是在持续一段时间里面完成的动作,指定了起始状态,终止状态和持续时间,就会获得相应的动作。一般游戏里出现的动作效果都可以用这些动作及动作的组合完成。这是很好的设计,让程序员能着重于有创造力的工作,如动作设计而不是费心思想怎么实现,好的工具就是能让人专注于核心工作!

CCMoveTo CCMoveBy
CCBezierTo, CCBezierBy
CCJumpTo, CCJumpBy
CCRotateTo, CCRotateBy
CCFadeIn, CCFadeOut
CCTintTo, CCTintBy

CCSequence

把动作组成一组动作序列,如怪物沿着某线路移动,移动出屏幕后消失,最后一个参数为NULL表示结尾
CCAction* action = CCSequence::create(curveMove, hideAction, NULL);


CCSpawn

让一批动作并列执行,如怪物一边移动一边发动攻击,最后一个参数为NULL表示结尾

CCRepeat, CCRepeatForever

设置某一动作的重复次数

变速动作

CCEaseSineIn和CCSpeed,可以让上述的动作变速完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Cocos2d-x 游戏框架