Cocos

CocosCreator3.x引擎的动态资源加载和释放方案

本文讲解CocosCreator3.x引擎的资源管理机制,提供一种动态资源的加载和释放方案,在3.3.2版本测试通过。 1 简介 Creator3.x引擎提供了一套基于引用计数的资源释放机制,简单说就是使用时计数加1,不用时计数减1,当计数为0时自动释放。通过引擎加载的资源,都会被临时缓存在 ass… 阅读更多 »CocosCreator3.x引擎的动态资源加载和释放方案

CocosCreator引擎中designSize、visibleSize、frameSize等属性的计算公式

1 简介 在使用CocosCreator引擎开发的过程中,如果需要做不同宽高比屏幕的适配或旋转,必定会接触到designSize、visibleSize、frameSize等不同属性,它们各代表什么意思?区别是什么?本文将解答这些问题,并总结这几个属性之间的推导公式。 2 定义 designSize… 阅读更多 »CocosCreator引擎中designSize、visibleSize、frameSize等属性的计算公式

CocosCreator屏幕适配小结

1 原理 CocosCreator引擎通过Canvas和Widget组件来适配不同分辨率的屏幕。 Canvas(画布):可以随时获得设备的实际大小并对所有渲染元素进行缩放。 Widget(对齐组件):能够将元素对齐父节点的不同参考位置。 设计分辨率:场景制作时使用的模版分辨率。 屏幕分辨率:设备运行… 阅读更多 »CocosCreator屏幕适配小结

setETC-一个自动化遍历Creator资源目录设置压缩纹理的脚本

1 功能简介 目前 2.x 版本的Cocos Creator在设置压缩纹理格式时,需要一个一个资源去手动设置,对拥有成千上万个纹理资源的工程来说,这种操作显然不现实。 本文代码的作用就是遍历Creator资源目录,自动化设置压缩纹理格式,并随时可以取消,恢复原始设置。 2 代码 代码里默认配置的是A… 阅读更多 »setETC-一个自动化遍历Creator资源目录设置压缩纹理的脚本

一个操作让游戏内存立减50+%-CocosCreator性能优化之压缩纹理

1 什么是压缩纹理 在游戏中,纹理不仅占据大量的包体,也占据了大量的内存。传统的图片压缩格式(如JPEG、PNG等)虽能减少资源大小,但是不能被GPU直接识别,还是需要先加载到内存通过CPU解码,转换成RGB/RGBA等能被GPU识别的格式,才能传送到GPU进行渲染。 为避免这些问题,压缩纹理,指的… 阅读更多 »一个操作让游戏内存立减50+%-CocosCreator性能优化之压缩纹理

CocosCreator压缩纹理使用总结

如前文所说,和原始的PNG图片相比,压缩纹理在内存和包体上都有巨大的优势,但由于移动设备的硬件和OpenGL ES支持不同,目前还没有一种压缩纹理格式既能发挥优势,又能兼容所有设备,所以需要针对不同平台做定制。 1 不同纹理的特点 1.1 ETC1 ETC1内存占用是PNG的1/4,文件大小是PNG… 阅读更多 »CocosCreator压缩纹理使用总结

Shader实例02-动态水波纹

效果预览 通过滑动条可调节水纹波动频率的快慢。 原理 对当前uv坐标进行线性+三角函数等混合变换,结合动态变化的时间参数,得到一个新的采样坐标,产生图片折射扭曲效果,从而模拟动态水波纹特效。 u_rate参数可调节波动频率的快慢。 获取源码 项目代码:https://github.com/foupw… 阅读更多 »Shader实例02-动态水波纹

Shader实例01-HSL转RGB

效果预览 展示的效果是从HSL转换为RGB,H(色调)的取值范围是 (0, 360),S(饱和度)的取值范围是 (-1, 1),L(亮度)的取值范围是 (-1, 1)。 定义 RGB和HSL(也叫HSB/HSV)是两种不同的色彩空间,RGB代表红(Red)、绿(Green)、蓝(Blue),HSL代… 阅读更多 »Shader实例01-HSL转RGB

CocosCreator构建微信或QQ小游戏分包实例教程

分包概述 分包加载,是把游戏内容按一定规则拆分成几个包,在首次启动时先下载必要的包,这个必要的包称为「主包」,开发者在主包内触发其它分包的下载,从而把首次启动的下载耗时分散到游戏运行中。 但各大平台考虑到承载能力,对分包还是有大小限制的,以微信小游戏为例: 整个小游戏所有分包大小不超过 8M 单个分… 阅读更多 »CocosCreator构建微信或QQ小游戏分包实例教程

CocosCreator开发笔记(25)-一些优化总结

包体优化 删除无用代码 定期清理,删除重复和未引用的资源 压缩音效文件,尽可能少占用空间 资源尽量放到res目录下。因为resources目录下的每个文件都会生成一个json,构建导出时,把资源映射关系存到Settings.js中,导致setting.js变大,所以,不是代码动态加载的资源,千万别放… 阅读更多 »CocosCreator开发笔记(25)-一些优化总结

CocosCreator开发笔记(24)-Creator程序员应该掌握的一些ES6语法

ES6,全称ECMAScript 6.0,是2015年6月发布的JavaScript 新一代语法标准。与之前版本相比,增加了很多有用的特性,使JavaScript代码更加优雅和可靠。 目前主流浏览器已经支持99%以上的ES6语法,所以我们也可放心的在Cocos Creator 2.x及更高版本中使用… 阅读更多 »CocosCreator开发笔记(24)-Creator程序员应该掌握的一些ES6语法

CocosCreator开发笔记(22)-使用convertToNodeSpace和convertToWorldSpace

含义 convertToNodeSpace 将一个点转换到节点 (局部) 坐标系,并加上锚点的坐标。 也就是说返回的坐标是相对于节点包围盒左下角的坐标。 convertToNodeSpaceAR 将一个点转换到节点 (局部) 空间坐标系,这个坐标系以锚点为原点。 也就是说返回的坐标是相对于节点原点的… 阅读更多 »CocosCreator开发笔记(22)-使用convertToNodeSpace和convertToWorldSpace