1,CCSpriteBatchNode 精灵集合类

其中Batch的英文含义是一批,一群的意思。他的对象常常包含了许多的精灵对象,这些精灵对象有一个共同的特点,那就是使用同一张文理图片。虽然是同一个纹理图片,但是每一个精灵所占矩形区域是不同的。

精灵集合类的对象通常包含很多歌子节点(可能是多个层次),这些子节点都是精灵对象。将他们集合在一起的好处是,在绘制时只需要OpenGL ES渲染器运行一次。本来需要成千上百度额绘制,而现在只需要绘制一次,并且在画面上没有什么缺失。

精灵集合类的对象有且仅有一张图片,只有使用这张纹理图片的精灵对象才能被加载,成为精灵集合对象的子节点。按照openGL ES的运行原理,同一张纹理绘制只需要操作一次。OpenGL ES渲染器的运行原理就是把必要的信息传递给图形处理硬件,让后将整个或者部分图形渲染的过程,一个单独的精灵对象在绘制时都要调用一次渲染方法,每次调用渲染方法都需要渲染器执行一次,这就会导致系统开销的增加。

使用范围:当游戏中需要显示两个或者更多的相同的精灵对象时,可以使用集合类,将精灵对象组合在一起。

按照OpenGL ES的要求,纹理的大小尺寸必须满足“2的N次方”,对于不符合规则的图标,系统会自动调节他们的大小。这样会占用更大内存空间。比如:140pxX600px像素的图片,如果把它们放到内存中,他们的大小将会变成256X1024.

2,CCSpriteFrameCache 精灵帧缓冲

就是一个存放精灵帧(CCSpriteFrame)对象的缓冲池。精灵帧是一个非常简单的对象,他不需要绘制,他的作用主要在于持有一个纹理对象,为精灵对象提供动画的支持。

精灵帧缓冲中包含了当前有游戏画面中使用的精灵帧,其中有些纹理图片是来自一张组合的纹理图片,也有一些是单独的纹理图片。精灵缓冲帧为开发这提供了一个管理纹理图片的简介途径,开发者可以选择何时将纹理图片加载入内存中。当直接用精灵缓冲池中的精灵帧创建精灵对象时无需在进行文件和内存的操作。精灵帧缓冲支持以配置文件的方式来加载文件。

第二节,CCSpriteBatchNode CCSpriteFrameCache的更多相关文章

  1. android内部培训视频_第二节 布局基础

    第二节:布局入门 一.线性布局 需要掌握的属性: 1.orientation:排列方式 vertical:垂直 Horizontal:水平 2.weight:水平布局的权重 3.gravity:子控件 ...

  2. seajs第二节,seajs各模块依赖关系

    index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  3. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  4. VUE2.0实现购物车和地址选配功能学习第二节

    第二节 创建VUE实例 购物车项目计划: 1.创建一个vue实例 2.通过v-for指令渲染产品数据 3.使用filter对金额和图片进行格式化 4.使用v-on实现产品金额动态计算 5.综合演示 ① ...

  5. 第二节 安装CentOS

    Linux 第二节一.安装VNware workstation 10二.安装CentOS 1.root/123456 用户登录[root@localhost ~]# 2.关机 init 0 3.ifc ...

  6. 源码讲解 node+mongodb 建站攻略(一期)第二节

    源码讲解 node+mongodb 建站攻略(一期)第二节 上一节,我们完成了模拟数据,这次我们来玩儿真正的数据库,mongodb. 代码http://www.imlwj.com/download/n ...

  7. 第二节:Web前端-ASP.NET之C#基础

    第二节:Web前端-ASP.NET之C#基础 学习ASP.NET,要掌握学习语言,控件等技能, <div style="text-align: center; line-height: ...

  8. 【精编重制版】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)

    说明 本教程是,原文章发布系统教程的精编重制版,会包含每一节的源码,以及修正之前的一些错误.因为之前的教程只做到了评论模块,很多地方还不完美,因此重制版会修复之前的一些谬误和阐述不清的地方,而且,后期 ...

  9. Ionic 入门与实战之第二章第二节:Ionic 环境搭建之 Ionic Lab 使用

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第二节,主要对 Ionic Lab 工具作了介绍,并讲解了其使用方法,这也是一个开发 Ionic 比较好的调试工具. 原文发表于 ...

  10. QQ登录整合/oauth2.0认证-03-对第二节的代码改进

    ---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid ...

随机推荐

  1. c - 计算1到20的阶乘

    #include <stdio.h> /* 题目:求 1+2!+3!+...+20!的和 */ unsigned long long int factorial(long n) { uns ...

  2. iOS加载启动图的时候隐藏statusbar + 指定启动图显示多少秒

    只需需要在info.plist中加入Status bar is initially hidden 设置为YES 补充一下,现在手机越来越快,在6+下面启动图一闪而过,而美工童鞋辛辛苦苦做的图就看不到鸟 ...

  3. 使用Eclipse创建Hibernate工程

    创建一个java project项目,加入hibernate的jar包和数据库驱动包,并引入到项目.

  4. uva 11673 Garbage Remembering Exam (概率)

    题目链接: http://vjudge.net/problem/viewProblem.action?id=42000 该过程为随即过程,因此总期望值等于个单词对应的期望值,即它们wasted的概率 ...

  5. mysql启动不了:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket

    ps aux |grep mysql kill所有列出的进程,然后重启 service mysql start 原因有可能是mysqld没启动:service mysqld start. 持续出现此问 ...

  6. JS form表单提交的方法

    1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在jsp的前端页面写:有两种方法,一种是用submit提交.一种是用button提交.方法一: 在jsp的前端页面的 ...

  7. Css 描点

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  8. php中抽象类和接口的特点、区别和选择

    一.特点: 1.抽象类特点 (1) 用 abstract 来修饰一个类,那么这个类就是抽象类:抽象类绝对不能被实例化,即$abc = new 抽象类名();会报错. (2) 用abstract 来修饰 ...

  9. centos 下 搭建 php 环境

    本文详细阐述在 Linux 系统中搭建 PHP 环境,由于 PHP 就是由 C 语言编写的,最初也是运行在 Linux 系统中,所以Linux 是 PHP 的最佳环境. 关于本文中使用到的软件,请点击 ...

  10. lua学习-1

    最近打算学习quick cocos2dx,所以首先打算学习一下lua这门语言,Lua 是一个小巧的脚本语言,轻量级,便于扩展. Lua脚本基本的数据类型:nil.boolean.number.stri ...