Egret引擎的RES.getResByUrl方法在微信小游戏平台的实现流程
一 如何适配微信小游戏平台 Egret引擎构建微信小游戏版本后,会在library目录下生成image.js文件,通过重写ImageProcessor类来适配微信小游戏平台,以代替默认的图片加载器。 示例代码如下。 const processor = new ImageProcessor(); RE… 阅读更多 »Egret引擎的RES.getResByUrl方法在微信小游戏平台的实现流程
一 如何适配微信小游戏平台 Egret引擎构建微信小游戏版本后,会在library目录下生成image.js文件,通过重写ImageProcessor类来适配微信小游戏平台,以代替默认的图片加载器。 示例代码如下。 const processor = new ImageProcessor(); RE… 阅读更多 »Egret引擎的RES.getResByUrl方法在微信小游戏平台的实现流程
最近因项目需要,对Egret引擎5.x版本的核心库做了一些裁剪,原因是游戏启动中有30-40%的时间都是在加载引擎代码,虽然Egret引擎自身已经很小巧,但为了缩短启动时间,还是删除了一部分用不上的引擎源码,力求更精简。 引擎源码对应的是安装目录下的src/egret文件,最终优化后的结果是,构建后… 阅读更多 »Egret引擎启动流程和源码裁剪
使用Egret引擎加载外部图片,有时会碰到跨域问题。除了要在服务器上配置资源允许跨域外,还需要Egret引擎允许跨域,否则texture无法在webgl上下文中渲染。 如下所示,在加载图片前增加一行代码就可以了。 egret.ImageLoader.crossOrigin = ‘anonymous’… 阅读更多 »解决Egret引擎加载外部图片跨域问题
一、简介 好的编码规范有助于我们写出清晰、明确、更容易维护的代码。 ESLint是一个JavaScript语法检查器,它可以根据预置或自定义的编码规范,自动检查代码语法,并输出检查结果,同时也支持TypeScript代码。 二、安装 先确保你电脑已经安装了 node 和 npm。 2.1 安装ESL… 阅读更多 »使用ESLint检查JavaScript或TypeScript代码
报错 Error: Cannot find module ‘webpack-cli/bin/config-yargs’ 的原因是当前的 webpack 5.x 和 webapck-cli 4.x 有冲突,解决办法是: 1、卸载当前的 webpack-cli npm uninstall webpack… 阅读更多 »解决webpack打包报错:Error: Cannot find module ‘webpack-cli/bin/config-yargs‘
问题 有时候用Chrome浏览器打开一个https网页,会出现以下提示。 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)。了解详情 NET::ERR_CERT_INVALID 解决 在当前页面用键盘输入 thisisunsafe ,不是在浏… 阅读更多 »Chrome浏览器不能打开https网页的另类技巧
首先需要有Node.js环境。 1 安装 http-server 打开命令行窗口,进入项目目录,通过 npm 安装 http-server包 cd project npm install -g http-server 2 创建证书 通过 openssl 创建私钥和证书: openssl genrsa… 阅读更多 »本地搭建支持https的Web服务器
1 运行环境 微信小程序分为逻辑层和渲染层,分别运行在各自的线程中。两个线程之间的通信经由微信客户端(Native)做中转,逻辑层发送网络请求也经由Native转发。 渲染层使用WebView进行渲染,逻辑层采用JSCore运行JS脚本。因为一个小程序可能存在多个界面,所以渲染层也可能有多个WebV… 阅读更多 »微信小程序/小游戏运行环境小结
1 原理 CocosCreator引擎通过Canvas和Widget组件来适配不同分辨率的屏幕。 Canvas(画布):可以随时获得设备的实际大小并对所有渲染元素进行缩放。 Widget(对齐组件):能够将元素对齐父节点的不同参考位置。 设计分辨率:场景制作时使用的模版分辨率。 屏幕分辨率:设备运行… 阅读更多 »CocosCreator屏幕适配小结
在Mac系统中,使用npm全局安装有时会报错,例如: npm install -g gulp 报以下错误 checkPermissions Missing write access to /usr/local/lib/node_modules/gulp npm WARN checkPermissio… 阅读更多 »解决mac系统全局安装提示权限问题
微信小游戏在小程序的基础上提供了WebGL接口的封装,使渲染能力和性能有大幅度提升。 和H5游戏相比 小游戏 = H5游戏 + (微信社交能力、文件系统、工具链) – (DOM、BOM、CSS、EVAL) 和小程序相比 小游戏 = 小程序 + (渲染、文件系统、多线程) – (多页面、WXSS、WX… 阅读更多 »微信小游戏和小程序的区别
一 http抓包 1.1 安装Charles 在电脑上安装Charles,并且让手机和电脑处在同一网段。 1.2 打开 Charles 的代理功能 通过主菜单打开Proxy | Proxy Settings 弹窗,填入代理端口(端口默认为 8888),勾选 Enable transparent HT… 阅读更多 »使用Charles进行手机抓包
目前brew还没有完全适配M1芯片的Mac系统,需要手动安装。 安装步骤 1、先创建安装目录 sudo mkdir -p /opt/homebrew 2、将目录属主改为当前用户,方便当前用户直接brew install软件 sudo chown -R $(whoami) /opt/homebrew … 阅读更多 »M1 Mac如何安装Homebrew
1 渲染流水线 指的是CPU和GPU根据一系列的顶点数据和纹理等信息,最终转换成人眼可以识别的图像的过程。 1.1 渲染流程 《实时渲染》一书将渲染流程分成3个阶段:应用阶段、几何阶段、光栅化阶段。 1.1.1 应用阶段 这个阶段由CPU负责实现,应用准备好模型、光源等渲染数据,设置好材质、纹理、S… 阅读更多 »Unity Shader 笔记
1 数学知识 1.1 坐标系 分为左手坐标系和右手坐标系两种,主要区别在于z轴的指向,z轴指向屏幕内的是左手坐标系,z轴指向屏幕外的右手坐标系。Unity和Direct3D使用的是左手坐标系,OpenGL使用的右手坐标系。 法线和切线 与椭圆有且仅有一个交点的直线,叫做椭圆的切线。二者公共点,叫做切… 阅读更多 »3D游戏引擎笔记
1 简介 在VSCode中编写的TypeScript代码不能直接运行,需要先用tsc编译为JavaScript,然后才能运行。 有什么方法能直接运行TypeScript呢?使用VSCode插件Code Runner就可以了。 2 使用步骤 首先确保拥有Node.js环境。 2.1 全局安装ts-no… 阅读更多 »VSCode插件CodeRunner直接运行TypeScript
1 功能简介 目前 2.x 版本的Cocos Creator在设置压缩纹理格式时,需要一个一个资源去手动设置,对拥有成千上万个纹理资源的工程来说,这种操作显然不现实。 本文代码的作用就是遍历Creator资源目录,自动化设置压缩纹理格式,并随时可以取消,恢复原始设置。 2 代码 代码里默认配置的是A… 阅读更多 »setETC-一个自动化遍历Creator资源目录设置压缩纹理的脚本
1 什么是压缩纹理 在游戏中,纹理不仅占据大量的包体,也占据了大量的内存。传统的图片压缩格式(如JPEG、PNG等)虽能减少资源大小,但是不能被GPU直接识别,还是需要先加载到内存通过CPU解码,转换成RGB/RGBA等能被GPU识别的格式,才能传送到GPU进行渲染。 为避免这些问题,压缩纹理,指的… 阅读更多 »一个操作让游戏内存立减50+%-CocosCreator性能优化之压缩纹理
如前文所说,和原始的PNG图片相比,压缩纹理在内存和包体上都有巨大的优势,但由于移动设备的硬件和OpenGL ES支持不同,目前还没有一种压缩纹理格式既能发挥优势,又能兼容所有设备,所以需要针对不同平台做定制。 1 不同纹理的特点 1.1 ETC1 ETC1内存占用是PNG的1/4,文件大小是PNG… 阅读更多 »CocosCreator压缩纹理使用总结
1 PNG和ETC的加载区别 1.1 PNG PNG是一种图片压缩格式,并不能被GPU直接识别,CPU把PNG图片读取到内存后,还需要在内存中解码,转换成GPU能识别的数据格式,然后传送给GPU渲染。 整个过程所占内存是编码数据*1+解码数据*2,即原始PNG文件占一份,解码后的数据在内存和GPU各… 阅读更多 »CocosCreator中png和etc纹理所占内存测试