热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cocos2dx(动画)

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

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 &#61; 0;j<14;j&#43;&#43;)

{

  sprintf(tmp,"grossini_dance_%02d.png",j&#43;1);

  CCSpriteFrame *frame &#61; cache->spriteFrameByName(tmp);

  animFrames->addObject(frame);

}

CCAnimation *animation &#61; CCAnimation::create(animFrames,0.3f);

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

 

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

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

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



推荐阅读
author-avatar
苦逼的码农
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有