【cocos2d 编程精粹】SpriteFrame 的实现与优化

发布时间:2020-07-15 17:16:24 作者:kingzeus
来源:网络 阅读:7519

SpriteFrame 的实现与优化

简介

  SpriteFrame 其实是为了优化贴图描画而存在的。我们知道为了更好的利用图形绘制 API,我们常常把一些细小的贴图合并到一起,然后每次只绘制这张贴图中需要的那个部分,这个就是 SpriteFrame。

  SpriteFrameCache 是为了配合 SpriteFrame 而存在的,主要用于载入,管理,缓存 SpriteFrame。   

属性

  先来解释几个概念:

  SpriteFrame 中有几个必须的属性:

实现

  SpriteFrame 的实现较为简单,暂且略过。

  Cocos2dx 中的 SpriteFrameCache 实现经历过几次重大的变化:

SpriteFrameCache

SpriteFrameCache 实际上就是 spriteFrame 的管理器。主要实现了以下的功能:

优化

优化大致包括了以后的部分:

代码风格调整

具体可以参考 项目的风格指南

SpriteFrame 内部计算优化 (未完成)

SpriteFrameCache singleton 模式替换

使用了 kzlib::TSingleton

SpriteFrameCache 内部使用容器替换,原则就是尽量使用 STL 容器

因为 unordered 系列容器内部使用了 hash 值,因为比字符串更加有效率。又是 STL 容器,使用方便,稳定高效。

SpriteFrameCache 内部逻辑调整

SpriteFrameCache 支持贴图创建

支持了从贴图到 SpriteFrame 的转换,保证了使用的统一

SpriteFrameCache 支持更多的数据格式 (未完成)

SpriteFrameCache 支持贴图的后载入 (未完成)

代码


推荐阅读:
  1. 如何搭建配置php开发环境
  2. (PHP学习笔记)实现页面静态化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

cocos2dx 编程精粹 spriteframe

上一篇:postgresql中一个表能写多少个字段

下一篇:为什么Python中的函数会修改全局的列表和字典

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》