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

动作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,可以让上述的动作变速完成

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值