CocosCreator3.x引擎的动态资源加载和释放方案
本文讲解CocosCreator3.x引擎的资源管理机制,提供一种动态资源的加载和释放方案,在3.3.2版本测试通过。 1 简介 Creator3.x引擎提供了一套基于引用计数的资源释放机制,简单说就是使用时计数加1,不用时计数减1,当计数为0时自动释放。通过引擎加载的资源,都会被临时缓存在 ass… 阅读更多 »CocosCreator3.x引擎的动态资源加载和释放方案
本文讲解CocosCreator3.x引擎的资源管理机制,提供一种动态资源的加载和释放方案,在3.3.2版本测试通过。 1 简介 Creator3.x引擎提供了一套基于引用计数的资源释放机制,简单说就是使用时计数加1,不用时计数减1,当计数为0时自动释放。通过引擎加载的资源,都会被临时缓存在 ass… 阅读更多 »CocosCreator3.x引擎的动态资源加载和释放方案
1 原理 CocosCreator引擎通过Canvas和Widget组件来适配不同分辨率的屏幕。 Canvas(画布):可以随时获得设备的实际大小并对所有渲染元素进行缩放。 Widget(对齐组件):能够将元素对齐父节点的不同参考位置。 设计分辨率:场景制作时使用的模版分辨率。 屏幕分辨率:设备运行… 阅读更多 »CocosCreator屏幕适配小结
测试引擎:CocosCreator 2.x 测试前提 几个Label是兄弟节点且中间没有被其它节点分隔的情况下: – 使用系统字,每个Label占用一个DrawCall; – 不同Label使用不同的艺术数字,本机调试模式下每个Label占用一个DrawCall,使用自动图集… 阅读更多 »CocosCreator中关于Label的DrawCall测试
分包概述 分包加载,是把游戏内容按一定规则拆分成几个包,在首次启动时先下载必要的包,这个必要的包称为「主包」,开发者在主包内触发其它分包的下载,从而把首次启动的下载耗时分散到游戏运行中。 但各大平台考虑到承载能力,对分包还是有大小限制的,以微信小游戏为例: 整个小游戏所有分包大小不超过 8M 单个分… 阅读更多 »CocosCreator构建微信或QQ小游戏分包实例教程
包体优化 删除无用代码 定期清理,删除重复和未引用的资源 压缩音效文件,尽可能少占用空间 资源尽量放到res目录下。因为resources目录下的每个文件都会生成一个json,构建导出时,把资源映射关系存到Settings.js中,导致setting.js变大,所以,不是代码动态加载的资源,千万别放… 阅读更多 »CocosCreator开发笔记(25)-一些优化总结
ES6,全称ECMAScript 6.0,是2015年6月发布的JavaScript 新一代语法标准。与之前版本相比,增加了很多有用的特性,使JavaScript代码更加优雅和可靠。 目前主流浏览器已经支持99%以上的ES6语法,所以我们也可放心的在Cocos Creator 2.x及更高版本中使用… 阅读更多 »CocosCreator开发笔记(24)-Creator程序员应该掌握的一些ES6语法
1、什么是DrawCall 一个DrawCall就是CPU向GPU发送一次绘制命令,例如:某个场景的DrawCall是80,代表该场景每个渲染帧内GPU需要绘制80次。每一次DrawCall都需要传输纹理、顶点数据以及渲染上下文切换,是非常消耗性能的操作,DarwCall过高会直接影响游戏的整体性能… 阅读更多 »游戏DrawCall分析利器-SpectorJS使用入门
AssetCleanerForCocosCreator 简介:一个基于Node.js的CocosCreator项目资源清理工具,自动化统计有哪些资源未使用,以及各类型资源的占比情况,从而帮助减小包体。 代码地址:https://github.com/foupwang/AssetCleanerForC… 阅读更多 »CocosCreator项目资源优化工具-AssetCleaner教程
在Creator游戏开发中,一般是这样创建对象: for (let i = 0; i < 10; i++) { let node = cc.instantiate(prefab); … } 上面代码本身没有问题,就是连续实例化10个对象。但在大量UI、动画同时出现时,却极有可能引起卡顿,因… 阅读更多 »CocosCreator中使用分帧创建对象
使用 gulp build 命令编译CocosCreator 2.0.9版本的engine源码,报“JavaScript heap out of memory”的错误,如下: 原因是源码文件数量太多,导致内存不足。 解决方法是编译命令加上参数,加大V8引擎的内存上限,例如改为8G,可如下: gulp… 阅读更多 »编译CocosCreator定制引擎失败的解决
含义 convertToNodeSpace 将一个点转换到节点 (局部) 坐标系,并加上锚点的坐标。 也就是说返回的坐标是相对于节点包围盒左下角的坐标。 convertToNodeSpaceAR 将一个点转换到节点 (局部) 空间坐标系,这个坐标系以锚点为原点。 也就是说返回的坐标是相对于节点原点的… 阅读更多 »CocosCreator开发笔记(22)-使用convertToNodeSpace和convertToWorldSpace
JavaScript为Object提供了很多方法,用来处理对象编程的相关操作。 1 Object.getPrototypeOf() Object.getPrototypeOf 方法返回参数对象的原型,这是获取原型对象的标准方法,推荐使用。 var Person = function() {}; va… 阅读更多 »JavaScript入门教程笔记(13)-Object对象的相关方法
要编译Creator项目的Windows版本,首先做以下两件事: – 安装VS2015或VS2017; – 安装Python 2.7.5+; 本文以Creator 1.10.2 + VS2017为例。 安装完VS2017和Python 2.7.13后,构建Creator项目的… 阅读更多 »使用VS2017编译Creator项目Windows版本的过程
cc.Sprite是Creator中比较常用的一个组件,实际使用中常常需要做动态/异步加载。要让它显示图片,实际上主要是设置SpriteFrame。 let path = ‘resources/test.png’; let sp = node.getComponent(cc.Sprite); if … 阅读更多 »CocosCreator开发笔记(21)-cc.Sprite的动态加载和释放
不当用法 有时为了判断某个值有效,JS新手会写这种臃肿代码: if (data != null && typeof(data) != undefined && data != ”) { … } 为避免这种情况,首先要了解undefined和null的区别。 什么… 阅读更多 »CocosCreator开发笔记(20)-如何判断undefined和null
上篇文章讲述了Jenkins如何一键构建和发布Creator项目,不过构建的都是本地代码。本篇文章讲述如何通过Jenkins中结合代码Git管理,使本地提交代码、抓取最新代码、推送代码至Git服务器等一套流程全跑通,并自动使用Git仓库中的最新代码进行CocosCreator的构建和发布。本文使用的… 阅读更多 »使用Jenkins实现CocosCreator的自动化构建和发布(4)-增加Git管理
Creator的的资源管理 CocosCreator会为每个资源文件生成一个唯一ID,称为uuid(通用唯一标识符,Universally Unique Identifier)。Creator引擎通过uuid来引用文件,而不再是 路径 + 文件名 的简单 方式,只要uuid不变,就可以在Creato… 阅读更多 »CocosCreator开发笔记(19)-meta文件使用总结
CocosCreator目前支持的Animation回调事件有: play : 开始播放时 stop : 停止播放时 pause : 暂停播放时 resume : 恢复播放时 lastframe : 假如动画循环次数大于 1,当动画播放到最后一帧时 finished : 动画播放完成时 首先确保节点… 阅读更多 »CocosCreator开发笔记(18)-如何处理Animation动画的结束回调
Cocos Creator 内置了一个简单易用的碰撞检测系统,支持 圆形,矩形 以及 多边形 相互间的碰撞检测。 碰撞系统接口 获取碰撞检测系统 let manager = cc.director.getCollisionManager(); 默认碰撞检测系统是禁用的,使用时需要以下方法开启碰撞检测… 阅读更多 »CocosCreator开发笔记(17)-碰撞检测系统的常用接口
本文主要说明在CocosCreator中如何动态加载Sprite、Prefab、Animation、Spine等资源。 动态加载图片 let self = this; cc.loader.loadRes(url, cc.SpriteFrame, function(err, spFrame) { if… 阅读更多 »CocosCreator开发笔记(16)-如何动态加载资源