Sprite Sheet的大概理解

Sprite Sheet是一个将多个精灵合并到一个文件的方法。相对于把每个精灵放在单独的文件夹中,这种方式减小了整个文件的大小。这意味着你将很大程度地减少内存的使用、文件大小和加载时间。

另外,为了通过批处理来实现更好的性能,我们必须使用Sprite Sheet。

当使用Sprite Sheet时,首先将其加载到SpriteFrameCache中。SpriteFrameCache是一个保存SpriteFrame,以便我们能很快访问到SpriteFrame的缓存类。SpriteFrame是一个包含了图像名和特定精灵尺寸(Rect)的对象。

SpriteFrameCache可以避免多次加载SpriteFrameSPriteFrame只加载一次,并被保存到SpriteFrameCache中。

在我的理解里,就是SpriteFrameCache就是软件或者程序里面本身,而SpriteFrame的类就是那个*.plist的本身,就是通过SpriteFrameCache来加载/保存Sprite Frame。

参考网站:http://cn.cocos2d-x.org/tutorial/show?id=1989

时间: 2024-10-17 21:13:30

Sprite Sheet的大概理解的相关文章

【咸鱼教程】TextureMerger1.6.6 二:Sprite Sheet的制作和使用

Sprite Sheet主要用于将零碎的小图合并成一张整图.减少加载图片时http的请求次数. 1 打开TextureMerger,选择Sprite Sheet 2  添加纹理(未创建项目时,会先弹出一个新建项目,任意取名创建一个项目就行) 选择4张图 图片添加到了项目中附加拓展名:自动在图片名后增加"_png".布局:调整纹理合集图片的位置,选择后可直接在右边看到效果画布:Power2:百度2的N次幂...  FreeSize自动合适大小间隙:图片间隔大一些,看得清楚... 3 导出

重构、重载和重写,mvc模式大概理解

重构重写和重载的区别: 重写:1.父类与子类之间的多态性,对父类的函数进行重新定义.如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 .方法重写又称方法覆盖. 2.若子类中的方法与父类中的某一方法具有相同的方法名.返回类型和参数表,则新方法将覆盖原有的方法. 3.子类函数的访问修饰权限不能少于父类的: 重载: 1.方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数.重载是一个类中多态性的一种表现. 2.重载的时候,方法名要一样,但是参数

jQuery.each的function中有哪些参数(可以大概理解function中的参数问题)

1.没有参数 $("img").each(function(){ $(this).toggleClass("example"); }); 1 2 3 2.有一个参数,这个参数为index $("img").each(function(i){ this.src = "test" + i + ".jpg"; }); 1 2 3 3.有两个参数,第一个参数为index,第二个参数为dom元素本身 $("

EaselJS SpriteSheet与Sprite翻译

最近看到EaselJS相关内容,网上资料并不是很多,翻译一下原文档与个人理解,错误请留言,转载请标明转载出处. SpriteSheet Class Encapsulates the properties and methods associated with a sprite sheet. A sprite sheet is a series of images (usually animation frames) combined into a larger image (or images)

Unity Animator动画状态机 深入理解(一)

接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我这就不是Animator么. 对啊,Animator其实是由Animation组成的.比如在Animator没有出现的时候有些公司写的动画状态机其实就是代码版的Animator. Animator其实就是把Animation统一管理和逻辑状态管理的组件,而Animation就是每一个动画. 动画状态

Sql Server之旅——第六站 使用winHex利器加深理解数据页

这篇我来介绍一个winhex利器,这个工具网上有介绍,用途大着呢,可以用来玩数据修复,恢复删除文件等等....它能够将一个file解析成 hex形式,这样你就可以对hex进行修改,然后你就可以看到修复后的结果,为什么要在sqlserver系列中说这个呢???很简单呀,sqlserver的DB本 质上也是一个mdf文件,对吧,既然是文件,我就可以利用winhex对它进行随意的修改,然后你也知道sqlserver的数据都是以数据页的形式封装的, 那我就可以修改它的数据页,对不对,这样我就可以随便改变

iOS 在 ARC 环境下 dealloc 的使用、理解误区

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 下图最后一句话,解开了俺接触 ARC 以来一直的误解: 在 ARC 环境下,重载的 dealloc 方法一样会被调用,只不过,不能在该方法的实现中

git 简单理解

现在git这个版本控制大行其道,弄了半天大概理解了一下他的工作原理. 使用流程 1,安装git ,小乌龟,小乌龟汉化(在设置里面第一项,检查更新,下载中文包安装) 2,设置 小乌龟 ->git ->远端 ->起个名添加上URL ->添加保存 3,操作. (1),获取仓库地址 .然后找个本地目录 ,右键 git克隆 把地址粘贴上,确定就好了.成功会出现一个文件夹. (2),在文件夹中的文件修改后,右键提交到master(本地的主线库),成功后可以推送到远程(就是服务器上的master

聊聊高并发(五)理解缓存一致性协议以及对并发编程的影响

Java作为一个跨平台的语言,它的实现要面对不同的底层硬件系统,设计一个中间层模型来屏蔽底层的硬件差异,给上层的开发者一个一致的使用接口.Java内存模型就是这样一个中间层的模型,它为程序员屏蔽了底层的硬件实现细节,支持大部分的主流硬件平台.要理解Java内存模型以及一些处理高并发的技术手段,理解一些基本的硬件知识是必须的.这篇会说一下跟并发编程相关的一些硬件知识. 一个基本的CPU执行计算的过程如下: 1. 程序以及数据被加载到主内存 2. 指令和数据被加载到CPU的高速缓存 3. CPU执行