第二节,CCSpriteBatchNode CCSpriteFrameCache
1,CCSpriteBatchNode 精灵集合类
其中Batch的英文含义是一批,一群的意思。他的对象常常包含了许多的精灵对象,这些精灵对象有一个共同的特点,那就是使用同一张文理图片。虽然是同一个纹理图片,但是每一个精灵所占矩形区域是不同的。
精灵集合类的对象通常包含很多歌子节点(可能是多个层次),这些子节点都是精灵对象。将他们集合在一起的好处是,在绘制时只需要OpenGL ES渲染器运行一次。本来需要成千上百度额绘制,而现在只需要绘制一次,并且在画面上没有什么缺失。
精灵集合类的对象有且仅有一张图片,只有使用这张纹理图片的精灵对象才能被加载,成为精灵集合对象的子节点。按照openGL ES的运行原理,同一张纹理绘制只需要操作一次。OpenGL ES渲染器的运行原理就是把必要的信息传递给图形处理硬件,让后将整个或者部分图形渲染的过程,一个单独的精灵对象在绘制时都要调用一次渲染方法,每次调用渲染方法都需要渲染器执行一次,这就会导致系统开销的增加。
使用范围:当游戏中需要显示两个或者更多的相同的精灵对象时,可以使用集合类,将精灵对象组合在一起。
按照OpenGL ES的要求,纹理的大小尺寸必须满足“2的N次方”,对于不符合规则的图标,系统会自动调节他们的大小。这样会占用更大内存空间。比如:140pxX600px像素的图片,如果把它们放到内存中,他们的大小将会变成256X1024.
2,CCSpriteFrameCache 精灵帧缓冲
就是一个存放精灵帧(CCSpriteFrame)对象的缓冲池。精灵帧是一个非常简单的对象,他不需要绘制,他的作用主要在于持有一个纹理对象,为精灵对象提供动画的支持。
精灵帧缓冲中包含了当前有游戏画面中使用的精灵帧,其中有些纹理图片是来自一张组合的纹理图片,也有一些是单独的纹理图片。精灵缓冲帧为开发这提供了一个管理纹理图片的简介途径,开发者可以选择何时将纹理图片加载入内存中。当直接用精灵缓冲池中的精灵帧创建精灵对象时无需在进行文件和内存的操作。精灵帧缓冲支持以配置文件的方式来加载文件。
第二节,CCSpriteBatchNode CCSpriteFrameCache的更多相关文章
- android内部培训视频_第二节 布局基础
第二节:布局入门 一.线性布局 需要掌握的属性: 1.orientation:排列方式 vertical:垂直 Horizontal:水平 2.weight:水平布局的权重 3.gravity:子控件 ...
- seajs第二节,seajs各模块依赖关系
index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- VUE2.0实现购物车和地址选配功能学习第二节
第二节 创建VUE实例 购物车项目计划: 1.创建一个vue实例 2.通过v-for指令渲染产品数据 3.使用filter对金额和图片进行格式化 4.使用v-on实现产品金额动态计算 5.综合演示 ① ...
- 第二节 安装CentOS
Linux 第二节一.安装VNware workstation 10二.安装CentOS 1.root/123456 用户登录[root@localhost ~]# 2.关机 init 0 3.ifc ...
- 源码讲解 node+mongodb 建站攻略(一期)第二节
源码讲解 node+mongodb 建站攻略(一期)第二节 上一节,我们完成了模拟数据,这次我们来玩儿真正的数据库,mongodb. 代码http://www.imlwj.com/download/n ...
- 第二节:Web前端-ASP.NET之C#基础
第二节:Web前端-ASP.NET之C#基础 学习ASP.NET,要掌握学习语言,控件等技能, <div style="text-align: center; line-height: ...
- 【精编重制版】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)
说明 本教程是,原文章发布系统教程的精编重制版,会包含每一节的源码,以及修正之前的一些错误.因为之前的教程只做到了评论模块,很多地方还不完美,因此重制版会修复之前的一些谬误和阐述不清的地方,而且,后期 ...
- Ionic 入门与实战之第二章第二节:Ionic 环境搭建之 Ionic Lab 使用
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第二节,主要对 Ionic Lab 工具作了介绍,并讲解了其使用方法,这也是一个开发 Ionic 比较好的调试工具. 原文发表于 ...
- QQ登录整合/oauth2.0认证-03-对第二节的代码改进
---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid ...
随机推荐
- .Net程序员关于微信公众平台测试账户配置 项目总结
今天项目第一次验收,夜晚吃过晚饭后,想把项目中用到的关于微信配置总结一下,虽然网上关于这方面的资料很多很多,还有官方API,但是总感觉缺点什么,就像期初做这个项目时,各方面找了很久的资料,说说配置吧! ...
- Android开发手记(24) Log的使用及颜色的更改
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.本文 ...
- target,currentTarget,delegateTarget,srcElement
第一种情况:就是IE9+和其他现代浏览器,支持addEventListener方法.其结果是: this总是等于currentTarget currentTarget总是事件监听者 target总是事 ...
- Swift - 13 - 字符串和Character
//: Playground - noun: a place where people can play import UIKit var str = "hi" // 字符串拼接 ...
- 跟我学android-使用Eclipse开发第一个Android应用(三)
打开Eclipse,选择 File—New –Android Application Project Application Name 就是我们的 应用名称,也是我们在手机应用程序列表里看到的名称. ...
- interrupt & storage & DMA
1.Interrupt: The occurrence of an event is usually signaled by aninterrupt from either the hardware ...
- underscorejs-sortBy学习
2.17 sortBy 2.17.1 语法 _.sortBy(list, iteratee, [context]) 2.17.2 说明 返回一个排序后的list拷贝副本. list为集合,如数组.对象 ...
- 周赛F题 POJ 1458(最长公共子序列)
F - F Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Description ...
- 使用XCode---下载组件
XCode是一个轻量级的ORM组件(对象与关系数据库映射),提供以面向对象的方式操作数据库的功能,能够解决90%以上的数据库操作场景. 做为X系列组件最重要的一员,XCode秉承了简单实用的特点,力求 ...
- codeproject
search: http http://www.codeproject.com/Articles/96620/Writing-Http-Handlers-and-Modules-in-IIS-7-5 ...