JavaScript中 instanceof 的实现原理

一 定义 标准的MDN定义:用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。 用简单通俗的话来说就是,判断左侧是否为右侧的实例化对象。 二 使用方法 使用格式为:a instanceof b。其中,左侧 a 为对象,右侧 b 必须为函数类型。 示例代码如下 ‘abc’ … 阅读更多 »JavaScript中 instanceof 的实现原理

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等属性的计算公式

Egret引擎启动流程和源码裁剪

最近因项目需要,对Egret引擎5.x版本的核心库做了一些裁剪,原因是游戏启动中有30-40%的时间都是在加载引擎代码,虽然Egret引擎自身已经很小巧,但为了缩短启动时间,还是删除了一部分用不上的引擎源码,力求更精简。 引擎源码对应的是安装目录下的src/egret文件,最终优化后的结果是,构建后… 阅读更多 »Egret引擎启动流程和源码裁剪

使用ESLint检查JavaScript或TypeScript代码

一、简介 好的编码规范有助于我们写出清晰、明确、更容易维护的代码。 ESLint是一个JavaScript语法检查器,它可以根据预置或自定义的编码规范,自动检查代码语法,并输出检查结果,同时也支持TypeScript代码。 二、安装 先确保你电脑已经安装了 node 和 npm。 2.1 安装ESL… 阅读更多 »使用ESLint检查JavaScript或TypeScript代码

微信小程序/小游戏运行环境小结

1 运行环境 微信小程序分为逻辑层和渲染层,分别运行在各自的线程中。两个线程之间的通信经由微信客户端(Native)做中转,逻辑层发送网络请求也经由Native转发。 渲染层使用WebView进行渲染,逻辑层采用JSCore运行JS脚本。因为一个小程序可能存在多个界面,所以渲染层也可能有多个WebV… 阅读更多 »微信小程序/小游戏运行环境小结

CocosCreator屏幕适配小结

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

微信小游戏和小程序的区别

微信小游戏在小程序的基础上提供了WebGL接口的封装,使渲染能力和性能有大幅度提升。 和H5游戏相比 小游戏 = H5游戏 + (微信社交能力、文件系统、工具链) – (DOM、BOM、CSS、EVAL) 和小程序相比 小游戏 = 小程序 + (渲染、文件系统、多线程) – … 阅读更多 »微信小游戏和小程序的区别

M1 Mac如何安装Homebrew

目前brew还没有完全适配M1芯片的Mac系统,需要手动安装。 安装步骤 1、先创建安装目录 sudo mkdir -p /opt/homebrew 2、将目录属主改为当前用户,方便当前用户直接brew install软件 sudo chown -R $(whoami) /opt/homebrew … 阅读更多 »M1 Mac如何安装Homebrew

Unity Shader 笔记

1 渲染流水线 指的是CPU和GPU根据一系列的顶点数据和纹理等信息,最终转换成人眼可以识别的图像的过程。 1.1 渲染流程 《实时渲染》一书将渲染流程分成3个阶段:应用阶段、几何阶段、光栅化阶段。 1.1.1 应用阶段 这个阶段由CPU负责实现,应用准备好模型、光源等渲染数据,设置好材质、纹理、S… 阅读更多 »Unity Shader 笔记

3D游戏引擎笔记

  • 2 评论

1 数学知识 1.1 坐标系 分为左手坐标系和右手坐标系两种,主要区别在于z轴的指向,z轴指向屏幕内的是左手坐标系,z轴指向屏幕外的右手坐标系。Unity和Direct3D使用的是左手坐标系,OpenGL使用的右手坐标系。 法线和切线 与椭圆有且仅有一个交点的直线,叫做椭圆的切线。二者公共点,叫做切… 阅读更多 »3D游戏引擎笔记