Cocos2dx学习笔记10:cocos2dx序列帧动画(1)

在cocos2dx里是不支持gif动画的,所以我们无法给精灵设置gif格式的图片。但是如果我们想实现动画效果呢?那么我们就要自己通过大量的静态图来组成播放成动画。

在cocos2dx里提供了序列帧动画的概念来实现这个功能,动画由帧组成,每一帧都是一个纹理,我们可以使用一个纹理序列来创建动画。

首先找一张动图的gif图,这里QQ群里最近动图的逗逼图太多,我就随便找了一张,把图片另存到桌面,打开ps软件,把图片拖进去,这样gif图会被拆分许多的图层。我们把图层一个一个图层的保存成png的静态图,命名为mAnimation1-10,因为这个图片就10个图层,所以就到10。

保存这样的命名格式的好处是
后面的数字是递增的,而且是可变的,我们可以在编程操作的时候可以用for循环实现数字的增加,而不需要手动增加10个。

1、使用普通方式实现动画
我们使用Animation类描述一个动画,而精灵显示动画的动作则是一个Animate对象。动画动作Animate是精灵显示动画的动作,它由一个动画对象创建,并由精灵执行。

2、使用精灵帧实现动画

上一次精灵创建的时候我们提到过精灵帧

(Cocos2dx学习笔记7:精灵(Sprite)http://www.byjth.com/biji/26.html)主要用来做动画用,这次我们同样使用TexturePacker工具将我们用的素材进行打包。
打包教程:教你使用TexturePacker工具对素材打包 http://www.byjth.com/tools/29.html
打包好后,我们把生成的plist文件和png图片放到项目里面的资源目录下,这里我是D:\cocos2d-x-3.4\tests\cocosxuexi\Resources文件夹。

效果图,看看是不是和gif图一样。

http://www.byjth.com/biji/30.html

教你使用TexturePacker工具对素材打包

http://www.byjth.com/tools/29.html

时间: 2024-08-06 11:52:39

Cocos2dx学习笔记10:cocos2dx序列帧动画(1)的相关文章

【Cocos2D-X 学习笔记】Cocos2D-x 3.0+VS开发环境搭建[使用Python]

上一节讲了如何用VS自带的项目管理器创建项目,该方法只适用于cocos2d-x 2.0版本,而cocos2d-x 3.0较之前版本在命名等方面有了较大更新,而cocos2d-x3.0不再支持用VS项目管理器自建项目,而是用Python脚本创建项目. 为什么做这种改变?经过上一节讨论可以发现,使用VS创建项目有一个缺陷:新建的项目必须在cocos2d-x的解决方案中,这样会导致自己的项目和Template项目混淆:如果想单独创建一个项目的话,又需要把cocos2d-x包中的cocos2d文件整个拷

Cocos2dx 学习笔记整理----在项目中使用图片(二)

之前了解了一种比较简单的图片的使用方式, 今次来了解稍微复杂一点的图片使用方式,plist+png. 这里要用到之前提到的Texture Packer. Texture Packer是一款图片打包工具,Texture Packer可以将素材打包成我们项目需要的格式. Cocos2dx支持很多种格式, 我们可以将某一种类的或者有共性的图片打包到一个png,然后用plist管理,以节约加载和内存,且显卡支持的纹理尺寸的长宽为2的n次幂,Texture Packer会把纹理整合到次尺寸. 今次我们利用

cocos2dx学习笔记(2)

昨天尝试了cocos2dx在win下的开发环境配置,并且运行了cocos的helloword程序,晚上想要尝试一下android开发环境配置,顺便学习cocos在eclipse下的JNI机制,按照cocoa中文论坛的android环境配置弄了NDK,并配置了环境变量,由于想要学习cocos的luabind机制(这个我们公司游戏的引擎用的很多,确实比较有兴趣),一切搞定不明就里的用eclipse导入了cocos3.0rc中的tests目录下的cpp-tests工程(这算android开发久了的毛病

Cocos2dx 学习笔记整理----场景切换

据说Cocos2dx场景切换的方法有32种:cocos2dx 常见的32种切换场景的动画 无需一一求证,只需要知道切换场景需要怎么做就行了. 作为导演CCDirector,切换场景的事情当然归它管了. 切换场景的接口如下: ? 1 CCDirector::sharedDirector()->replaceScene(cocos2d:CCScene * pScene); 所以,我们只要把需要切换的场景实例传进去就可以了. ? 1 2 CCScene * pScene = GameMain::sce

cocos2dx 学习笔记

1. 动作类: CAction : CActionInterval(持续性) 和 CActionInstant(瞬时性) 帧动画 CAnimate,  帧动画序列 CAnimation 2. Cocos2dx 中所有对象都创建在堆上,然后通过指针引用: 创建方法: 1) new 对象 -> init方法, 需要使用者进行释放: 2)静态的工厂方法,不需要使用者进行释放: 3. 选择器 selector, 类似于函数指针 shedule_selector(SELECTOR) callfunc_se

Cocos2d-x学习笔记(三)“万物之父”——CCNode

原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38701767 通过前两份学习笔记,我们不难发现CCScene.CCLayer.CCSprite.CCAction等一系列元素都是CCNode的子类,但其实"万物之父"这个标题还是有点夸大,毕竟还有像CCDirector.CCCamera之类并不继承自CCNode的组件. 但是CCNode绝对是Cocos2d-x中举足轻重的一个核心,我们可以把它理解为节点.它

Cocos2d-x学习笔记(四)CCScene分析

原创文章,转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38730335 前言 之前提到CCScene是场景,是整个游戏的舞台,通过查看源码我们不难发现CCScene也是CCNode的子节点,那么它也拥有我们上一节讲的CCNode的所有非private属性及方法. CCScene的作用十为了联系所有的CCNode节点(包括CCLayer.CCSprite等). 当清楚知道每个场景要显示的内容,那么定义出不同的CCNode,然后

cocos2dx学习笔记(5)——粒子特效CCParticleSystem

0.使用方法 拿 CCParticleExplosion 举例. //创建CCParticleExplosion特效 CCParticleSystem *p1 = CCParticleExplosion::create(); //设置特效贴图 p1->setTexture(CCTextureCache::sharedTextureCache()->addImage("cocos2dx.png")); //设置自动释放 p1->setAutoRemoveOnFinish

【Cocos2D-X 学习笔记】为精灵添加单点触控

由于Cocos2d-x处于新学的阶段,因此最近也无法进行系统地更新,只会选择一些典型的Demo贴上来,一来是与大家分享,而来也可以作为以后回顾时的参考. 今天介绍一下Cocos2d-x的触摸事件处理,了解Android开发的朋友们知道,Android里会用一个OnClickListener()进行事件监听,而在J2SE中也会有Event类实现专门的监听处理.在Cocos2d-x中,因为是游戏引擎,用户在玩游戏时总是要通过屏幕与游戏进行交互,可想而知触摸事件是主要处理的事件.这里主要讲一下如何为精