Cocos2d-JS地图性能问题

如图所示游戏场景,它是我们以往介绍的实例,在场景中有三个方块精灵(BoxA、BoxB和BoxC)和背景精灵,这个背景叫做“地图”有点牵强,地图采用了有规律的纹理。

游戏场景

那么我们如何设计这个游戏地图呢?我们可以使用两种方法:采用一张大图片和采用小纹理图片重复贴图。

1、采用一张大图片

我们在以往中介绍的实例,采用一张大图片。我们可以让美术设计师帮助我们制作一个屏幕大小的图片,大小960 x 640像素,如图所示。如果是RGBA8888格式,则占用内存大小大约2400K字节。

游戏地图

2、采用小纹理图片重复贴图

采用就是小纹理图片重复贴图,每个小的纹理图片大小是128 x 128像素,如图所示。如果是RGBA8888格式,则占用内存大小大约64K字节,纹理图片宽高必须是2的n次幂。

小纹理图片

提示  图片占用内存大小与图片格式有关,图片格式有关主要有:RGBA8888、RGBA4444和RGB565等。RGBA8888和RGBA4444格式一个像素有4个(红、绿、蓝、透明度)通道,RGBA8888一个通道占8比特,RGBA4444一个通道占4比特,1字节 = 8比特。因此RGBA8888格式的计算的公式:长 x 宽 x 4字节,RGBA4444格式的计算的公式:长 x 宽 x 2字节。

采用小纹理图片重复贴图的方式可以通过瓦片地图实现,采用瓦片地图可以构建如下图所示的复杂地图。

复杂地图

更多内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发》

本书交流讨论网站:http://www.cocoagame.net

欢迎加入Cocos2d-x技术讨论群:257760386

更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com

智捷课堂现推出Cocos会员,敬请关注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0

《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:

京东:http://item.jd.com/11659698.html

欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息

时间: 2024-10-31 19:09:28

Cocos2d-JS地图性能问题的相关文章

cocos2d js ClippingNode 制作标题闪亮特效

1.效果图: 之前在<Android 高仿 IOS7 IPhone 解锁 Slide To Unlock>中制作了文字上闪亮移动的效果,这次我们来看下怎样在cocos2d js 中做出类似的效果. 顺便给我公司的游戏打下广告.https://itunes.apple.com/cn/app/kuang-zhan-san-guo/id691116157? mt=8 2.效果原理 很easy.就是一张白色两边羽化的图片在标题上从左往右移动.可是普通的移动会穿帮.我们须要以标题作为模板来截取白色的图片

准备:新V8即将到来,Node.js的性能正在改变

V8的Turbofan的性能特点将如何对我们优化的方式产生影响 审阅:来自V8团队的Franziska Hinkelmann和Benedikt Meurer. **更新:Node.js 8.3.0已经发布了V8 6.0和Turbofan. Node.js依靠V8 JavaScript引擎来运行代码,其语言本身也是我们熟悉和喜爱的.V8 JavaScript引擎是Google为Chrome浏览器编写的JavaScript虚拟机.从一开始,V8的一个主要目标是让JavaScript运行地更快,或者至

Babylon.js官方性能优化文档中文翻译

在这里列出Babylon.js官方性能优化文档的中英文对照,并在CardSimulate项目里对其中的一些优化方法进行实践. How To 如何 Optimize your scene 优化你的场景 Table of contents 内容列表 How To Optimize Your Scene 如何优化你的场景 Use TransformNode instead of AbstractMesh or empty meshes 使用变换节点代替抽象网格或者空网格 Changing per me

【js】性能问题

执行环境和作用域 一.全局变量和局部变量 每个执行环境都有与之关联的变量对象(变量和函数存储在这里),全局执行环境是最外围的执行环境,根据ECMA实现所在的宿主不同,表示的执行环境的对象也不同.在web浏览器中,全局执行环境被认为是window对象. 每个函数都有自己的执行环境,有自己对应的变量对象(arguments对象),当执行流进入一个函数时,函数的环境会被推进一个环境栈,函数执行完后,栈将其环境弹出,把控制权交给之前的执行环境. 当代码在一个环境执行的时候,会创建变量对象的作用域链. 二

Node.js 应用性能优化的五个技巧

在这个由软件定义的世界里,企业往往是通过 Web 应用和移动应用程序来提供他们大部分的服务.所以对企业来说,一个非常重要的任务就是要确保用户拥有出色的使用体验.Node.js 正迅速成为时下最流行的平台之一,它被用于方便地搭建响应速度快.易于扩展的网络应用和移动应用程序.通过下图也可以看出,Node.js 正在成为新的主流. 众所周知,Node.js 是单线程服务器,新事件会触发代码的执行,进行一系列 I/O 操作,并在完成后回调.对于 I/O 密集型的应用,例如 Web 和移动应用程序,这种事

[js] 前端性能优化

原文链接:http://www.cnblogs.com/xxcanghai/p/5205998.html 链接:http://www.zhihu.com/question/21658448/answer/18903129 网络性能优化,加快访问速度,浏览器并行加载数量,怎样实现原生JS异步载入,CDN加速的原理,如何将不同静态资源发布到多个域名服务器上,发布后这些静态字段的url路径改怎么批量改写,用什么工具进行项目打包,css打包后的相对路径怎么转换为绝对路径,用什么工具进行项目模块依赖管理,

5 个快速的 Node.js 应用性能提示

本系列文章涵盖许多基础性内容:它给出了应用程序性能管理(APM)的总体概述:指明了实现一个 APM 策略的主要挑战:提出了衡量,评估一个企业级 Node.js 应用程序运行状况的最重要的 5 条指标:并提出了通过 AppDynamics 方式构建一个 APM 解决方案.在文章的最后部分,还提出了一些提示和技巧类以帮助您实现最佳的 APM 策略.具体地说,本文讨论了以下主题: 业务交易优化 快照调优 阈值调优 层级管理 上下文信息捕获 1.业务交易优化 本文章系列里,我会不断重复强调的就是监控方案

JS 之性能优化

了解JS性能优化是学习前端必备的一项技能.下面就简单的列出几点: 1.注意作用域,避免全局查找. 访问全局变量比访问局部变量慢,是因为需要遍历作用域链,查找作用域链需要额外的时间.所以在一个函数中,将访问多次的全局对象或者域外变量存储为局部变量来使用.如某个方法需引用全局变量的值,则在该方法所在的对象的作用域中定义一个局部变量等于全局变量的值. 避免不必要的属性查找,将属性设置为局部变量. function(){ var title = document.title; for(var i=0;i

js 关于性能的数据存储

1.JavaScript中四种基本数据存取位置:字面量,本地变量,数组元素,对象成员.(四个都是存在于内存中) 一般来说:[字面量,局部变量]运行速度>[数组,对象成员] 2.内部属性包含了一个函数被创建的作用域中对象的集合.这个集合被称为作用域链.(跨作用域频繁取数据会消耗性能) function(){ var a ={b:123} function(){ let c = a.b; let d = a.b; // 应该 let d = c; } } 3.内存泄露的几种情况 循环引用 Javas