精灵帧缓存类
一、SpriteFrameCache
    精灵帧缓冲类SpriteFrameCache用于存储精灵帧,SpriteFrameCache是一个单例模式,不属于某一个精灵,是所有精灵共享的:
说明:
        @js NA 
        @lua  NA
    表示的意思是:
    
 
具体实例:
    
 
二、SpriteBatchNode
Sprite 和 SpriteBatchNode

v2.2 2.2版本中推荐的优化游戏方式是将 SpriteBatchNode 对象设置为 Sprite 对象的父节点。 虽然使用SpriteBatchNode 对象仍然是一个非常好的优化游戏的方式,但是它仍然有一定的限制:

  • Sprite 对象的孩子只能是 Sprite (否则,Cocos2d-x 会触发断言)

    • 当 Sprite 的父节点是 SpriteBactchNode 时,不能添加 ParticleSystem 作为 Sprite的子节点。
    • 这将导致当 Sprite 的父节点是 SpriteBatchNode 时,不能使用 ParallaxNode
  • 所有的 Sprite 对象必须共享相同的纹理ID (否则,Cocos2d-x 会触发断言)
  • Sprite 对象使用 SpriteBatchNode 的混合函数和着色器。

虽然 v3.0 仍然支持 SpriteBatchNode (与之前的版本拥有相同的特效和限制),但是我们不鼓励使用它。相反,我们推荐直接使用 Sprite,不需要再它作为子节点添加到 SpriteBatchNode 中。

但是,为了能让 v3.0 有更好的表现,你必须要确保你的 Sprite 对象满足以下条件:

  • 贡献相同的纹理ID(把它们放在一个spritesheet中,就像使用 SpriteBatchNode 一样)
  • 确保它们使用相同的着色器和混合函数(就像使用 SpriteBatchNode 一样)

如果这么做, Sprites 将会像使用 SpriteBatchNode 一样的快...(在旧设备上大概慢了10%,在新设备上基本上察觉不出)

v2.2 和 v3.0 最大的区别在于:

  • Sprite 对象可以有不同的纹理ID。
  • Sprite 对象可以有不同种类的 Node 作为子节点,包括 ParticleSystem
  • Sprite 对象可以有不同的混合函数和不同的着色器。

但是如果你这么做,渲染器 可能无法对它所有的子节点进行批处理(性能较低)。但是游戏仍然可以正常运行,不会触发任何断言。

总结:

  • 保持将所有的精灵放在一张大的 spritesheet 中。
  • 使用相同的混合函数(使用默认)
  • 使用相同的着色器(使用默认)
  • 不要将精灵添加到 SpriteBatchNode

只有当你需要一些额外的性能上提升(虽然很小),SpriteBatchNode 才会是你最后的选择(你需要对它的限制条件很熟悉)。

注:

如上信息参考:https://github.com/fusijie/Cocos2dx-ReleaseNote-zh/blob/master/cocos2d-x_v3.0_release_notes.md

SpriteBatchNode示例:

【Cocos2dx 3.3 Lua】SpriteBatchNode和SpriteFrameCache使用的更多相关文章

  1. 【Cocos2dx 3.3 Lua】滚动字幕

    参考资料:     http://blog.csdn.net/jackystudio/article/details/12991977   1.原理         通过调用update来更新位置达到 ...

  2. Cocos2d-x 3.2 Lua演示样例 ClickAndMoveTest(点击移动測试)

    Cocos2d-x 3.2 Lua演示样例 ClickAndMoveTest(点击移动測试)  本篇博客介绍Cocos2d-x 3.2Lua演示样例中点击移动的样例,在这个样例你能够得到怎样创建单点触 ...

  3. Cocos2d-x 脚本语言Lua中的面向对象

    Cocos2d-x 脚本语言Lua中的面向对象 面向对象不是针对某一门语言,而是一种思想.在面向过程的语言也能够使用面向对象的思想来进行编程. 在Lua中,并没有面向对象的概念存在,没有类的定义和子类 ...

  4. Cocos2d-x 3.2 Lua演示样例 XMLHttpRequestTest(Http网络请求)

    Cocos2d-x 3.2 Lua演示样例 XMLHttpRequestTest(Http网络请求)     本篇博客介绍Cocos2d-x 3.2Lua演示样例中的XMLHttpRequestTes ...

  5. Cocos2d-x 3.2 Lua演示样本CocosDenshionTest(音频测试)

    Cocos2d-x 3.2 Lua演示样本CocosDenshionTest(音频测试)  本篇博客介绍Cocos2d-x 3.2中Lua演示样例的音频測试.Cocos2d-x使用SimpleAudi ...

  6. Cocos2d-x 脚本语言Lua使用

    Cocos2d-x 脚本语言Lua使用 前面几篇博客已经把Lua的相关基础知识介绍了.本篇博客就来介绍一下,怎样在Cocos2d-x项目中使用Lua这门脚本语言进行开发.因为笔者使用的时Mac系统.所 ...

  7. 笔记:利用Cocos2dx 3.3 lua 做一个动作类游戏(一)

    在这之前,声明一下: 做不完我是小狗. 没办法,没毅力和恒心,之前的那个Quick Cocos2dx做的横版过关游戏的demo已经转成了3.3的版本了,其实也算是个半成品,战斗,UI啥的都有了,呵呵. ...

  8. 【Cocos2dx 3.3 Lua】定时器事件

    Cocos2dx 3.x Lua 中使用定时器有两种方式: (1)self:scheduleUpdateWithPriorityLua(update, priority) > 参数一:刷新函数 ...

  9. 【Cocos2dx 3.x Lua】TileMap使用

    1.编辑TileMap地图资源 2.Cocos2dx 3.x Lua中使用TileMap   Link: http://codepad.org/P0nFP1Dx  local TileMap=clas ...

  10. Cocos2d-x 3.2 Lua演示样例 AssetsManagerTest(资源管理器)

    Cocos2d-x 3.2 Lua演示样例 AssetsManagerTest(资源管理器) 本篇博客介绍Cocos2d-x 为我们提供的一个类--AssetsManager在Lua中的使用样例,效果 ...

随机推荐

  1. POJ2356 Find a multiple 抽屉原理(鸽巢原理)

    题意:给你N个数,从中取出任意个数的数 使得他们的和 是 N的倍数: 在鸽巢原理的介绍里面,有例题介绍:设a1,a2,a3,……am是正整数的序列,试证明至少存在正数k和l,1<=k<=l ...

  2. 求组合数 C++程序

    一 递归求组合数 设函数为void    comb(int m,int k)为找出从自然数1.2.... .m中任取k个数的所有组合. 分析:当组合的第一个数字选定时,其后的数字是从余下的m-1个数中 ...

  3. jsp连接数据库的乱码问题 servlet请求参数编码处理get post

    1.在所有需要读取数据的地方用下面的方式.同时jsp必须统一编码,如我都是UTF-8 String userName= new String(request.getParameter("us ...

  4. 原生js(一)

    Element对象有以下重要属性: 1.style. a) Element的css样式 b) 可以通过elem.style.backgroundColor = "red"的形式才动 ...

  5. Internet Message Access Protocol --- IMAP协议

    https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol   Internet Message Access Protocol

  6. OGG日常运维监控的自动化脚本模板

    #!/usr/bin/ksh export ORACLE_BASE=/oracle/ export ORACLE_SID=epmln1 export ORACLE_HOSTNAME=pmlnpdb1 ...

  7. stopImmediatePropagation和stopPropagation (事件、防止侦听)

    参考: ActionScript 3.0 Step By Step系列(六):学对象事件模型,从点击按扭开始 actionscript宝典 一.事件模型 egret中的事件模型和flash是一样的,但 ...

  8. 【CF875F】Royal Questions 最小生成基环树森林

    [CF875F]Royal Questions 题意:国王的n个王子该结婚了!现在从外国来了m位公主,第i位公主的嫁妆是wi.由于进步思想的传播,每个公主在选择配偶的事情上是有自主权的,具体地,每个公 ...

  9. 【CF884F】Anti-Palindromize 费用流

    [CF884F]Anti-Palindromize 题意:定义一个串是反回文的,当且仅当对于1<=i<=len,$a_i!=a_{len-i+1}$. 现在给出一个长度为n的串S(n是偶数 ...

  10. 【BZOJ1417】Pku3156 Interconnect 记忆化搜索

    [BZOJ1417]Pku3156 Interconnect Description 给出无向图G(V, E). 每次操作任意加一条非自环的边(u, v), 每条边的选择是等概率的. 问使得G连通的期 ...