Unity读取和解析JSON文件(3)-JsonReader和JsonWriter
Unity版本:2018.4.17 JsonMapper的底层是JsonReader和JsonWriter,这两个类也是LitJson库的基础,它们提供了流式方式读写JSON数据的接口。 使用JsonReader 通过JsonReader可以得到JSON数据的所有信息,包括字段名、字段类型,字段值等… 阅读更多 »Unity读取和解析JSON文件(3)-JsonReader和JsonWriter
Unity版本:2018.4.17 JsonMapper的底层是JsonReader和JsonWriter,这两个类也是LitJson库的基础,它们提供了流式方式读写JSON数据的接口。 使用JsonReader 通过JsonReader可以得到JSON数据的所有信息,包括字段名、字段类型,字段值等… 阅读更多 »Unity读取和解析JSON文件(3)-JsonReader和JsonWriter
Unity版本:2018.4.17 上篇文章讲了JSON和对象的转换,前提是要先定义好和JSON内容对应的类。但有时候无法或者不需要先定义好类,就可以使用JsonMapper.ToObject的非泛型变量,这时将返回JsonData实例。JsonData是一种通用类型,可以保存JSON支持的任何数据… 阅读更多 »Unity读取和解析JSON文件(2)-非泛型转换
Unity版本:2018.4.17 LitJson:几乎适用于Unity所有版本 (下载地址) JSON是一种轻量级的文本数据格式,跟语言和平台无关,在项目中使用非常广泛。不过Unity引擎和C#语言本身并没有针对JSON提供太方便的使用接口,幸好Unity插件商店里可以找到很多。其中的LitJSO… 阅读更多 »Unity读取和解析JSON文件(1)-JSON和对象的转换
Unity版本:2018.4.17 VSCode版本:1.42.1 Unity2018开始,安装包里自带了VS2017社区版,所以想用VS2017调试Unity中的C#代码,但不知什么原因,我的VS2017启动调试后,总是会导致Unity卡死,没找到解决方案。就干脆用VSCode做C#代码编辑和调试… 阅读更多 »使用VSCode调试Unity2018的C#代码
expires max 表示最长过期时间,即一直缓存。 expires -1 表示立即过期,即不缓存。 按如下配置,使test整个目录可以被客户端浏览器缓存,但是index.html文件不缓存,使版本重新构建后,访问index文件能实时刷新,适用于生成了MD5的h5游戏。 Nginx配置实例如下 s… 阅读更多 »H5游戏如何配置Nginx缓存但是index文件不缓存
ES6,全称ECMAScript 6.0,是2015年6月发布的JavaScript 新一代语法标准。与之前版本相比,增加了很多有用的特性,使JavaScript代码更加优雅和可靠。 目前主流浏览器已经支持99%以上的ES6语法,所以我们也可放心的在Cocos Creator 2.x及更高版本中使用… 阅读更多 »CocosCreator开发笔记(24)-Creator程序员应该掌握的一些ES6语法
简介 《The Book of Shaders》是一本关于片段着色器(Fragment Shader)的入门指南,由Patricio Gonzalez Vivo编写,从零开始讲述了如何通过Shader来完成图形图像的绘制。 本项目使用Cocos Creator 2.1.2实现了书中的大部分Shade… 阅读更多 »Shader入门教程实例-TheBookOfShaders For CocosCreator
javascript-obfuscator是一个免费的JavaScript代码混淆工具,它功能强大,可以把你的源代码变得“面目全非”,完全没有可读性。还具有部分防调试功能,给JavaScript代码多一层保护。 安装 它支持很多流行的前端打包工具,如Webpack、Gulp、Grunt等都有相应的插… 阅读更多 »混淆工具javascript-obfuscator使用简介
1、简介 UglifyJS是个包含JS解释器、代码最小化、压缩、美化的工具集,是前端开发打包的最常用工具之一。 CocosCreator引擎采用gulp管理构建流程,其中也使用UglifyJS来做代码的合并和压缩。 UglifyJS目前只能压缩JS代码,且只支持到ES5语法,尚不支持ES6。 2、安… 阅读更多 »前端打包工具UglifyJS使用入门
1、什么是DrawCall 一个DrawCall就是CPU向GPU发送一次绘制命令,例如:某个场景的DrawCall是80,代表该场景每个渲染帧内GPU需要绘制80次。每一次DrawCall都需要传输纹理、顶点数据以及渲染上下文切换,是非常消耗性能的操作,DarwCall过高会直接影响游戏的整体性能… 阅读更多 »游戏DrawCall分析利器-SpectorJS使用入门
AssetCleanerForCocosCreator 简介:一个基于Node.js的CocosCreator项目资源清理工具,自动化统计有哪些资源未使用,以及各类型资源的占比情况,从而帮助减小包体。 开源代码地址:https://github.com/foupwang/AssetCleanerFo… 阅读更多 »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定制引擎失败的解决
浏览器将某项请求发送到服务器,要求显示某个网页,服务器将会返回 HTTP 状态码响应请求。 一些常见的状态码为: – 200 服务器成功返回网页 – 304 未修改 – 404 请求的网页不存在 – 503 服务器超时 2xx(成功) 200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了… 阅读更多 »HTTP常见状态码
使用Jenkins构建过程中,需要把文件传输到远程主机,可以用pscp等工具实现,也可以通过Jenkins自身的插件Publish over SSH来完成这项任务,传输单个文件或多个目录都支持。 安装插件 Jenkins -> 系统管理 -> 管理插件 -> 安装 Publish Over SSH … 阅读更多 »Jenkins自动化插件之Publish over SSH
1. Set 基本用法 ES6新增了Set,它类似于数组,但是成员的值不会重复,都是唯一的。 const s = new Set(); [1, 2, 3, 4, 3, 2, 1].forEach(x => s.add(x)); for (let i of s) { console.log(i); }… 阅读更多 »ES6入门教程笔记(10)-Set和Map
在Windows平台上做项目的自动化构建时,会不可避免的用到批处理文件,本文记录一些常用方法。 echo echo start copy 在控制台输出字符串:start copy @ 在命令行前面加上@,表示仅执行,而不显示本命令。 @start test.exe 上面语句表示仅执行test.exe… 阅读更多 »Windows批处理的用法笔记
含义 convertToNodeSpace 将一个点转换到节点 (局部) 坐标系,并加上锚点的坐标。 也就是说返回的坐标是相对于节点包围盒左下角的坐标。 convertToNodeSpaceAR 将一个点转换到节点 (局部) 空间坐标系,这个坐标系以锚点为原点。 也就是说返回的坐标是相对于节点原点的… 阅读更多 »CocosCreator开发笔记(22)-使用convertToNodeSpace和convertToWorldSpace
ES6对对象的扩展非常多,本文只介绍自己感兴趣的若干,需要完整的请阅读文末原文。 属性的简洁表示法 ES6允许直接写入变量和方法,作为对象的属性和方法。这种写法更加简洁。 let x = 1; let name = ‘root’; // ES5 let obj = { x:x, name:name … 阅读更多 »ES6入门教程笔记(9)-对象的扩展
ES6对数组的扩展非常多,本文只介绍自己感兴趣的若干,需要完整的请阅读文末的原文。 flat() 数组的成员可能还是数组,Array.prototype.flat()可以将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新的数组。 [1, 2, [3, 4]].flat() // [1, 2, 3… 阅读更多 »ES6入门教程笔记(8)-数组的扩展