cocos2d-x(动画)

CCAnimationCache类是一个单例,用于缓存所有动画和动画帧,代码如下:

CCAnimationCache::sharedAnimationCache()->addAnimation(animation,"dance");

CCAnimationCache *animCache =CCAnimationCache::sharedAnimationCache();

CCAnimation *normal = animCache->animationByName("dance");

利用sharedAnimationCache获取单例,利用addAnimation将动画加入缓存并命名,利用animationByName调用。

 

CCAnimationFrame和精灵帧CCSpriteFrame类似,是单张图片,也可以通过精灵帧去定义。

CCSpriteFrame *frame= (CCSpriteFrame*)pObj;

CCAnimationFrame *animFrame = new CCAnimationFrame();

animFrame-> initWithSpriteFrame(frame,1,1NULL);

initWithSpriteFrame就是利用精灵帧初始化动画帧,第一个参数是精力帧,第二个参数该动画帧的延迟时间,最后一个是CCDirector的信息。

 

CCAnimation就是动画,存储一个动画需要的所有帧。

CCArray *animFrames = CCArray::create();

char tmp[50];

for(int j = 0;j<14;j++)

{

  sprintf(tmp,"grossini_dance_%02d.png",j+1);

  CCSpriteFrame *frame = cache->spriteFrameByName(tmp);

  animFrames->addObject(frame);

}

CCAnimation *animation = CCAnimation::create(animFrames,0.3f);

首先定义精灵帧数组,然后定义一个动画;也可以使用动画帧来定义。

 

CCAnimate动画动作就是一个动作类

sprite->runAction(CCRepeatForever::create(CCAnimate::create(animation)));

转载于:https://www.cnblogs.com/ZQMQ/archive/2013/06/06/3121210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值