cocos2dX 之CCAnimation/CCAnimate】的更多相关文章

我们今天来学习cocos2dX里面的动画的制作, 有人说, 不是前面CCAction已经学过了吗? 怎么还要学, CCAction是动作, 而我们今天要学的是动画哦, 是让一个东西动起来哦, 好了进入今天的正题CCAnimation/CCAnimate, 我们知道, 动画看起来是在动的不是由于动画本身在动, 而是由于我们高速切换图片, 由于我们的视觉有一个残留的效果, 所以看起来就像是在动一样,  先准备一堆素材, 开个玩笑啦, 实际开发过程中, 没有人会弄一大堆素材放在那里, 我们今天准备了两…
[小知识] CCSpriteFrame     :精灵帧.    它是相对动画而产生的,其实就是一张纹理图片. CCAnimationFrame  :动画帧.    由精灵帧与间隔帧数组成,是动画CCAnimation中的一帧. CCSpriteFrameCache:精灵帧缓冲.用于存放精灵帧CCSpriteFrame的缓冲池. CCAnimationCache  :动画缓冲.  用于存放动画CCAnimation的缓冲池. delayPerUnit      :单位帧间隔.连续两个动画帧之间的…
cocos2dx 动画是个非常奇妙的东西~~. 这里看到的是一个物体,在运动的过程中会不断地翻转的过程. 两个动画一起来~~ 以下的代码中涉及到:CCAnimation(补间动画 )  CCAnimate(动画)  CCDelayTime(延迟动作)  CCFadeTo(设置透明态度) CCSequence(动作序列)  CCSpawn(让精灵的若干个动画同一时候运行)  CCRepeateForever(无限循环)  CCCallFuncN(瞬时动作中  node回调函数)  CCMoveTo…
动画简单实例 v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 false 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·'"〈<「『[[[〝﹙﹛﹝$(.[{£¥ !%),.:;&…
动画在游戏中是很常见的 程序1:创建一个简单的动画 首先须要在project文件夹下的Resource文件夹中放一张有各种不同动作的图片 在程序中加入以下的代码 #include "Animation.h" CCScene* Animation::scene() { CCScene* s = CCScene::create(); Animation* layer = Animation::create(); s->addChild(layer); return s; } bool…
本人在使用精灵表单创建动画的过程中突然遇到了一些个问题,下面进行一下分析总结. 根据在Cocos2d-iphone中的经验,我写出了如下的代码: CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("my.plist"); CCSpriteBatchNode *batchNode = CCSpriteBatchNode::create("my.png"); this->…
1.最最原始的方法,先创建动画帧,再创建动画打包(animation),再创建动画(animate) 第一步: 创建动画帧:CCSpriteFrame,依赖于原始的资源图片(xx.png,xx.jpg) CCSpriteFrame *frame1=CCSpriteFrame::create("1.png"); CCSpriteFrame *frame2=CCSpriteFrame::create("2.png"); CCSpriteFrame *frame3=CCS…
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 之前我们已经学习过一些方法让节点“动”起来,Cocos2D-X中还有一种动作,就是动画类CCAnimate.要实现 CCAnimate,还需要定义CCAnimation等类.在这一期中,我们主要使用两种方法来实现动画的效果. 一.手动添加帧序列实现动画 1.CCAnimate和CCAnimation类的使用方法. <1> CCAnimate::…
通过CCAnimation实例获取CCSpriteFrame,会出现类型转换问题.我们在创建一个animation的时候,经常遵循下面的步骤:1)create 一个CCArray对象A.2)通过A->addObject()添加CCSpriteFrame对象3)通过CCAnimation::createWithSpriteFrames(A, 0.2f)常见一个CCAnimation对象B.可以通过B->getFrames()获得一个CCArray*的指针A’,然后通过A’->ObjectA…
前两天在博客园看到网友实现的一个网页版的flappy bird,挂在360游戏平台,玩了一会儿得分超低,就很想自己做一个.刚好这两天炫舞的活都清了,就弄一下玩玩. 效果图 布局类GameScene.h #ifndef GAMESCENE_BIRD #define GAMESCENE_BIRD #include "cocos2d.h" #include "Box2D/Box2D.h" #include "SimpleAudioEngine.h" U…
cocos2dx针对游戏设计的不同方面会有不同的优化方案,可以对声音,对内存,对图片格式,对色彩等等进行优化.有关这些方面的方法请大家查找其他的文章.我今天要说的是如何对精灵进行优化,程序中我们用到的最多的就是精灵,大到背景.UI,小到 NPC.道具,只要是用图片展示的,都是精灵或它的子类.精灵是什么,在我看来精灵就是一张纹理图片,是按某种方式显示出来的图片.精灵如此的重要,我们当然要好好的优化优化了.我们可以减小精灵图片的大小,使用缓存Cache的方法将精灵提前加载到内存中,当有很多精灵的时候…
在前面的Cocos2D-x的概念类中,我们了解到节点类CCNode.导演类CCDirector.场景类CCScene.布景层类CCLayer和精灵类CCSprite等,这些类都是构成游戏画面的基本元素.特别是精灵类CCSprite,它是游戏的主要元素.记得在讲CCSprite时说过,它本质上就是一张二维的图片对象.这些图片对象被加载到游戏中,显示到屏幕中形成各种静态画面.但游戏除了静态画面,更多需要有动态效果(如动作.特效和动画),它将游戏角色性格和情绪活灵活现的表现出来.可以说,动态效果的好坏…
看了好几天cocos2dx的帧动画,现在才有点眉目,为了高效期间我们一般会用到 精灵帧缓存(CCSpriteFrameCache) 和动画缓存(CCAnimationCache) .大体的操作步骤: 1.把多个帧动画合成一张,然后生成plist文件,plist文件记载着每一帧在大图中的位置信息. 2.通过plist文件把每一帧加载到精灵帧缓存. CCSpriteFrameCache *frameCache=CCSpriteFrameCache::sharedSpriteFrameCache();…
 一.帧动画 你能够通过一系列图片文件,像例如以下这样,创建一个动画: [cpp]   CCAnimation *animation = CCAnimation::create();   //从本地文件系统中载入图片文件到CCSpriteFrame中区,然后加入到CCAnimation中   for (int i = 1; i < 15; i++)   {       char szImageFileName[128] = {0};       sprintf(szImageFileName…
转自:http://codingnow.cn/cocos2d-x/810.html 这一篇来学习怎么使用cocos2d-x引擎播放帧动画,就是把一帧一帧的图片像电影那样显示出来.1. 首先来了解一下相关的类CCAnimation:是精灵用来播放动画的参数,内部封装了一个帧序列(CCMutableArray<CCSpriteFrame*>)和每帧播放间隔时间(float m_fDelay),初始化该对象时记得指定delay时间,否则默认是0.CCAnimationCache:从名字很容易看出,它…
学习总结: 1.sprintf用来格式化字符串 2.CCSpriteFrame:: frameWithTexture通过图片名创建的时候需要的参数Texture2D创建使用CCTextureCache::sharedTextureCache()->addImage(str) 3.CCAnimation用来装载已经缓存的图片动画资源CCAnimation *animation=CCAnimation::animationWithFrames(arrayList, 0.2f); 4.循环动画需要使用…
转自:http://4137613.blog.51cto.com/4127613/759610 这里只给出最基本的动画代码,具体使用要根据实际情况自己封装.最好自己开发一个编辑器.额外说一句,开发编辑器最好使用Qt,因为是跨平台的.   我们随便找一张动画资源图片,在66RPG里有很多,如图:   CCSize s = CCDirector::sharedDirector()->getWinSize(); //#1:生成动画需要的数据类 CCTexture2D *texture=CCTextur…
欢迎转载:http://blog.csdn.net/fylz1125/article/details/8521997 这篇写cocos2d-x的构造器. cocos2d-x引入自动释放机制后,创建的对象就不需要我们像C++编程那样自己delete了.但是怎么让自己的类也能保持cocos2d-x的风格呢?或者说怎么样才能让自己的类实例也能自动释放. 在cocos2d-x里面大量用到了一个叫create()方法(2.1.0版本).几乎所有的实体类都会用这个create函数来产生实例而不是他们的构造函…
     大家早上好,趁着阳光美好的时候,我打算写下博客:今天要说的是僵尸的产生了,这块和太阳因子的产生比较相似,大体上的区别在于僵尸的基类这块:我在考虑是详细的写还是大体的写,本着对自己作业的态度和对编程的负责,我想还是一点一点的写出来吧:虽然比较长!(我们让帽子僵尸在地图的右边定时产生,以一定速度运动屋子的前面然后销毁它):       首先来建一个类JsLayer继承CCLayer;JsLayer.h中,进行如下声明: #pragma once #include "e:\cocos2d-x…
原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12082043 游戏是实现了,但是如果有个欢迎界面和一个结束界面就更好了. 欢迎界面可以用于预加载一些资源,初始化数据,显示logo,copyright之类的东西,而结束画面用于显示游戏得分,以及返回游戏,退出游戏等等. 1.欢迎界面 本系列到这里,欢迎场景的建立应该不用多说了.还是一样的WelcomeLayer和WelcomeScene. WelcomeLayer的init…
首先,ccb文件是如何生成的,我就不多说了,大家可以搜下cocosbuilder,就能找的相关的教程,而通过cocosbuilder,我们可以省去了很多设计的麻烦,比如设计一个精灵的位置啥的,而通过cocosbuilder,我们可以把我们编码的重点放到具体的控制类上面,而不是在显示页面上下很大的功夫.闲话不多说,要想实现这些好处,首先确定你的Cocos2d-x的版本号,如果是2.0.4,那就用cocosbuilder 2.1吧(当然,cocosbuilder只有mac版的,如果是windows,…
qinning199原创,欢迎转载,转载请注明:http://www.cocos2dx.net/?p=22 一.帧动画 你可以通过一系列图片文件,像如下这样,创建一个动画: CCAnimation *animation = CCAnimation::create(); //从本地文件系统中加载图片文件到CCSpriteFrame中区,然后添加到CCAnimation中 for (int i = 1; i < 15; i++) { char szImageFileName[128] = {0};…
cocos2d-x 动画的实现 一.实现原理 动画的实现其实就是使用一个完整的动作图片集来实现动画,达到动态的效果 动画动作类(CCAnimate)是加载一个动画类来实现动作. 动画类(CCAnimation)加载一个精灵帧数组来构成一个动画, CCAnimate函数: static CCAnimate* create(CCanimation* pAnimation) CCAnimation创建函数 CCAnimation* CCAnimation::createWithSpriteFrames…
在第二篇<如何制作一个类似Tiny Wings的游戏>基础上,增加添加主角,并且使用Box2D来模拟主角移动,原文<How To Create A Game Like Tiny Wings with Cocos2D 2.X Part 2>,在这里继续以Cocos2d-x进行实现.有关源码.资源等在文章下面给出了地址. 步骤如下: 1.使用上一篇的工程: 2.创建Box2D世界,并且添加一些代码来进行调试绘制,同时添加一些形状.打开HelloWorldScene.h文件,添加如下定义…
转载请表明地址:http://blog.csdn.net/jackystudio/article/details/11757175 昨天收到了电子工业出版社寄过来的<cocos2d-x游戏开发之旅>这本书了,书还是不错的,那天rp爆发在微博上抽到的奖品. 感觉自己这个系列写的好像有点慢,但是想说尽可能把每一个点介绍到,所以,嫌啰嗦的请见谅咯... 我在这个游戏中对精灵和层的处理方式是一个层中只放一种精灵,把精灵的接口提供出去,然后通过层的叠加来实现整个游戏. 1.飞机登场了 飞机是Hero,所…
转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/10553487 一.纵版射击游戏的特点 纵版射击游戏是一种比较传统的游戏,在各种游戏平台都有非常经典的游戏作品.对于游戏开发者来说,这种游戏题材非常适合加入特效和创新的玩法.但是无论怎样改变,该类游戏都具备以下特点: 滚动背景.主角.敌人.子弹.特效 二.喵星战争简介 喵星战争在传统纵版设计游戏的基础上进行创新.主角不是传统飞机造型,而是一只小猫,敌人也不…
这个Demo主要是实现帧动画,建议游戏中少用帧动画.废话少说直接上代码. 一.我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添加如下代码并附上图片资源. CCSize szWin = CCDirector::sharedDirector()->getVisibleSize(); CCSprite* pSprite = CCSprite::create();//创建一个精灵以执行动画 pSprite->setPosition(CCPointMake(szW…
原文:Learning Cocos2d-x for WP8(9)--Sprite到哪,我做主 工程文件TouchesTest.h和TouchesTest.cpp 相关素材文件 事件驱动同样适用于cocos2d-x引擎,cocos2d-x的触屏事件可分为单点和多点触屏. 一般用到情况有: Layer统一接受触屏消息,然后由程序根据需要分发给不同位置的sprite: 自定义可接收触屏事件的sprite. Layer层实现触屏事件 1.开启触屏事件 在Layer层初始化的时候设置 setIsTouch…
原文:Learning Cocos2d-x for WP8(8)--动作Action 游戏很大程度上是由动作画面支撑起来的. 动作分为两大类:瞬间动作和延时动作. 瞬间动作基本等同于设置节点的属性,延时动作会执行一段时间,不需要清除这两种动作,一旦动作完成,就会从节点上清除并释放所占内存. 封装CCSpriteBatchNode的使用方法 BatchAnimatitonSprite CCSprite* SpriteActionLayer::BatchAnimatitonSprite(CCLaye…
原文:Learning Cocos2d-x for WP8(7)--让Sprite动起来 C#(wp7)兄弟篇Learning Cocos2d-x for XNA(7)——让Sprite动起来 本讲将详细介绍Cocos2d-x游戏中动画Animate的创建方式,通过逐帧数组播放动画和创建动画集合播放动画,比较两者的异同,让Sprite动起来. 工程文件:SpriteAnimationTest.h和SpriteAnimationTest.cpp SpriteAnimationTest.h 添加两类…