COCOS2D-X FRAME动画创作随笔
CCAnimate继承CCActionInterval,和CCAnimate是一家action,有着action所有的属性和方法。
CCAnimate一些重要的方法:
static CCAnimate* create ( CCAnimation * pAnimation )依据Animation创建Animate
virtual CCAnimation* getAnimation ( void ) 依据Animate获得Animation
bool initWithAnimation ( CCAnimation * pAnimation )依据Animation初始化仅仅创建了Animate对象的实例
virtual CCActionInterval* reverse ( void )获得Animate对象反序对象
virtual void setAnimation ( CCAnimation * var )设置Animation
virtual void stop ( void ) 停止动作
由全部创建CCAnimate方法发现,全部的对象都是依据Animation来创建。
static CCAnimation * createWithSpriteFrames (CCArray *arrayOfSpriteFrameNames, float delay=0.0f)通过CCArray 和延时来创建CCAnimation
CCArray 是一个CCSpriteFrame数组。表示该CCAnimation全部的动画帧。delay表示动画的延迟时间。每一个动画帧间的时间间隔。
static CCArray* createWithCapacity ( unsigned int capacity )依据动画帧数创建数组容量。用于存放各个动画帧。
CCArray 中的CCSpriteFrame表示精灵动作的某帧,CCSpriteFrame的创建方法与使用精灵帧创建精灵一样。
动画创建中会使用到各种图片,若每次在载入图片时都进行处理。则会浪费非常多系统资源,COCOS2D-X中通过CCTextureCache来解决问题。
CCTextureCache为纹理缓存类,该类是一个单实例类:
static CCTextureCache* sharedTextureCache ( )获得CCTextureCache单实例对象。
static void purgeSharedTextureCache ( ) 清理全部的缓存
void removeTexture ( CCTexture2D * texture )依据CCTexture2D 对象删除缓存
void removeTextureForKey ( const char * textureKeyName )依据CCTexture2D 对象名删除缓存
void removeUnusedTextures ( ) 清除掉全部没有再使用的缓存
CCTexture2D* addImage ( const char * fileimage )通过图片路径,将该图片纹理加入缓存。若该路径已经加入过则直接获取图片纹理对象。
当某一动画须要频繁使用时。相同使用动画缓存类来解决动画反复调用问题:
CCAnimationCache 用于管理动画缓存。该类为单实例。
static CCAnimationCache * sharedAnimationCache (void) 获取CCAnimationCache 单实例。
static void purgeSharedAnimationCache (void) 清理CCAnimationCache 类缓存空间
void addAnimation (CCAnimation *animation, const char *name) 向CCAnimationCache 中加入Animation对象,并以唯一表示字符串标识
void removeAnimationByName (const char *name)通过唯一标识字符串删除Animation对象
CCAnimation * animationByName (const char *name)通过唯一标识字符串获取已经加入的Animation对象
其它方法省略
全部缓存类的使用尽管提供了跟快的处理速度,可是牺牲了系统内存为代价,使用时应当择优使用
FRAME动画总结:动画是由详细精灵来展现。首先得到精灵的动作的全部动作帧 CCSpriteFrame,再通过CCArray 对象将全部的在同一动作中的动画帧组合起来。
通过这一系列的已经组合的动画帧创建出Animation对象,完毕真正的动画。
运行动画动作需要完成,因此,创建CCAnimate行动,使运行该向导。
版权声明:本文博主原创文章。博客,未经同意不得转载。
COCOS2D-X FRAME动画创作随笔的更多相关文章
- Frame动画实战
Android动画分为Tween动画和Frame动画,Tween动画主要包括图片的放大缩小.旋转.透明度变化.移动等等操作:Frame动画则简单得多了,就是把一张张的图片连续播放产生动画效果. 本节主 ...
- cocos2d 播放GIF动画类
cocos2d 播放GIF动画类 以前项目中曾经用到过,后来因为GIF图像的质量较差,被弃用了,把公司名字去掉分享下,根据网上资料改编的cocos2d-iphone版的. // // CCSprite ...
- android之frame动画详解
上一篇我们说了android中的tween动画,这一篇我们说说frame动画,frame动画主要是实现了一种类似于gif动画的效果,就是多张图按预先设定好的时间依次连续显示. 新建一个android项 ...
- 背水一战 Windows 10 (42) - 控件(导航类): Frame 动画
[源码下载] 背水一战 Windows 10 (42) - 控件(导航类): Frame 动画 作者:webabcd 介绍背水一战 Windows 10 之 控件(导航类) Frame 动画 示例An ...
- Android Frame动画demo
Android动画介绍:Android为我们提供了两种动画实现,Frame和Tween. 两者之间的区别: 1.Frame动画:就像放电影一样,是通过预先做好的图片进行连续播放从而形成动画效果 2.T ...
- 按钮在执行frame动画的时候怎么响应触发事件?
按钮在执行frame动画的时候怎么响应触发事件? 代码中效果(请注意,我并没有点击到按钮,而是点击到按钮的终点frame值处): 对应的代码: // // ViewController.m // Ta ...
- Android 动画具体解释Frame动画 (Drawable Animation)
Frame动画像gif画画,通过一些静态的图片,以实现动画效果. Android sdk该AnimationDrawable就是专门针对Frame动画,当然Frame动画也可在java代码或者xml中 ...
- Android Tween和Frame 动画
关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式: 1. Tween Animation:通过对场景里的对象不断做图像变换(平移.缩放. ...
- frame动画
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android=&q ...
随机推荐
- SAE微信公众号PHP SDK, token一直验证失败
用的是SAE,创建的是微信公众号PHP SDK框架,里面example文件夹下有server.php用来验证token的.但是问题来了,无论我怎么输入URL和token,一直告诉我token验证失败. ...
- 【剑指offer】旋转数组的最小值
採用二分查找的策略,重点要考虑一些边界情况:旋转了0元素.即输入的是一个升序排列的数组.仅仅包括一个数字的数组.有非常多反复数字的数组等. AC代码: #include<stdio.h> ...
- 创建和关联内容数据库到指定Web应用程序和站点集
创建和关联内容数据库到指定Web应用程序和站点集 一个Web应用程序不限于使用单个内容数据库.SharePoint同意你关联多个内容数据库到Web应用程序.原因之中的一个是基于内容数据 ...
- 【HDU】4888 Redraw Beautiful Drawings 网络流【推断解是否唯一】
传送门:pid=4888">[HDU]4888 Redraw Beautiful Drawings 题目分析: 比赛的时候看出是个网络流,可是没有敲出来.各种反面样例推倒自己(究其原因 ...
- WebSocket API
WebSocket API 这一章介绍如何用WebSocket API来控制协议和创建应用,运用http://websocket.org 提供的现有WebSocket服务器,我们可以收发消息.创建一些 ...
- c++ cin>>详解
参考地址:http://www.cnblogs.com/A-Song/archive/2012/01/29/2331204.html 程序的输入都建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当 ...
- iosclient暑期“动画屋“活动项目总结
入职实习的这个公司,第一天就分配了任务.从零開始写一个网页.之前尽管了解一些前端知识.但从头开写还是遇到了非常多问题,互联网公司讲求效率,有deadline还是比較有紧迫感的,与在实验室放羊状 ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序 总结
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序 总结 在SP2013中,工作流已经从SP Server中脱离 ...
- 解决set /p yn= 接受键盘输入导致ECHO 处于关闭状态的问题
今天写了一个自动更新程序的批处理脚本,但是有个变量一直赋值有问题.弄了一个下午终于找到原因及解决方法: ----转载要说明来自:博客园--邦邦酱好 哦 有问题的代码如下: @echo off echo ...
- Java EE (11) - 影响性能的因素
垂直层(Tier)影响性能的因素 资源层数据库性能通常考虑以下方面的优化(MySQL为例):--使用哪种存储引擎:MyISAM vs. InnoDB, MERGE, MEMORY, Federated ...