自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 收藏
  • 关注

原创 日常工作笔记

常用的gradle版本6.3常用的gradle plugin版本 4.0.2。

2024-06-05 17:33:41 281

原创 局域网共享文件夹的创建

右键计算机管理:双击此处:如果不可以共享,双击以后会有提示 xxx服务没有开启开启下面的服务修改共享配置关机重启:

2021-05-10 19:50:04 431 1

原创 android studio常见错误

1:无法连接adb可能原因:1:检查自己的环境变量是否修改了adb的端口

2021-05-10 10:53:30 761

原创 shell学习

第一步:创建钉钉机器人,首先你得建一个群,然后获取token:第二步:在git目录下创建一个shell脚本test.shtest.sh下面的脚本需要替换xxxxxxx为你自己的token#!/bin/shfilename=./log/commit.logauthor=$(git show -s --pretty=%an)todayTime=$(date "+%Y%m%d")#当天的日志#searchStartTime='$todayTime 00:00:00'#search

2021-05-05 15:23:55 305

原创 地图居中小记

在游戏中经常用到地图居中的操作,比如一张大地图,需要做一个小地图来实时显示出玩家在大地图中的位置,这个做法比较常规的做法是对每一张大地图都等比例的来做一张小地图获取到玩家在大地图中的位置,在根据缩放比例就可以算出来在小地图的位置了下面这个算法是将玩家的位置始终处于屏幕的中心初始化:小地图的原点与世界坐标重合,如果想让小地图中某个点在屏幕居中,只需要用屏幕的中心点坐标去减当前点坐标,当然这个结果不可以超出范围,这个范围就是小地图的尺寸减去屏幕的尺寸local mapWidth = GetMapWi

2021-04-10 17:43:32 307

原创 给exe设置工作路径

案例1:做lua开发游戏时,需要将lua脚本寄生在exe的环境中,启动exe,就可以加载lua代码了,这里有一个路径设置,如果分离的话,需要写一个批处理脚本,即先设置工作路径再启动exe,还有一个更简单的方法,就是用exe生成一个快捷键:如下...

2021-04-10 10:21:35 919

原创 android 模拟器的使用

目前比较火的的模拟器:夜神android模拟器和逍遥游模拟器安装完模拟器以后,需要在模拟器上再安装es文件浏览器,这个是可以直接root,然后进行访问文件夹的root步骤:在主界面的左上角点击:然后打开,如下图所示就这么简单就可获取root权限了啊共享文件夹:简单设置一下,就是我们的电脑和模拟器共享文件夹下,如果我们想传文件到模拟器,只需要将文件放在共享文件夹就可以了啊比如我们想把下面这个zip传到模拟器上,只需要将文件拷贝到这个目录下即可在模拟器上打开...

2021-04-06 10:42:23 2545

原创 pureMVC使用笔记

--注册启动commandfacade:registerCommand( noticeTable.StartUp, StartUpCommand )--触发command 调用facade:sendNotification( noticeTable.StartUp )观察者 Observer这个类的主要功能:就是注册一个类的实例和类的方法,啥时候需要调用这个方法的时候,由观察者组织传参并且调用,在当前这个框架模式中,观察者是用的比较重要的一种设计模式,理解观察者模式,对于理解这个框架还是比较重要

2021-04-05 11:30:07 608

原创 在vscode中搭建webgl shader开发环境

环境插件1:Shader languages support for VS Code插件2:glsl-canvas语法错误提示插件1:glsl linter下载:glslang解压后放在任意文件夹下:在vscode中配置:vscode > preferences > settings > Extensions效果如下:特别注意:着色器代码必须以**.frag或.vert**文件后缀名,否则语法检查哪里会报错,如:GLSL Linter: G

2021-03-03 16:51:09 1741 1

原创 渲染之静态批处理

操作方法:在unity场景的右侧属性面板中直接勾选static属性,那么就可以在游戏引擎中完成静态批处理原理:满足条件:使用相同的材质球,模型是禁止的标明为 Static 的静态物件,如果在使用相同材质球的条件下,在Build(项目打包)的时候Unity会自动地提取这些共享材质的静态模型的Vertex buffer和Index buffer。根据其摆放在场景中的位置等最终状态信息,将这些模型的顶点数据变换到世界空间下,存储在新构建的大Vertex buffer和Index buffer中。并且记

2021-02-26 09:25:40 270

原创 creator中对于shader的应用

组织架构shader就是一段着色器代码,跑在GPU上,一个显示节点需要一段shader代码才可以被绘制出来,那么显示节点和shader之间有怎么样的管理关系呢一个显示节点会配一一个材质球(material),一个材质球会管理若干个techniques,每一个technique都有若干个pass,每一个pass里有两个着色器代码,分别是vs和ts,每一个pass才是真正要使用的着色器代码,所以至于要渲染那个pass,我们可以自行决定中间过程看一张图片,如下:上面这张图片介绍了一个普通精灵sprit

2021-02-24 15:30:56 919

原创 基础shader之2d描边

float radius = 0.01;//描边的宽度 //在shader中颜色的范围是0.0-1.0,下面这样设置颜色也没有问题 //只是有一点需要注意,就是临近边缘像素他们的透明度可能会有不同,这个时候如果我们还是传1.0过去, //可能会导致颜色不是那么绿 vec3 u_outlineColor = vec3(0.0,1.0,1.0);//描边的颜色 float u_threshold = 1.0;//描边的模糊度 ..

2021-02-24 11:08:13 750

原创 android app 内嵌h5小游戏

原理:其实就是在app内部放置一个浏览器内核,这个内核可以是浏览器的系统内核,也可以是腾讯的x5内核,一般使用腾讯浏览器的x5内核,如果环境不允许,则使用默认的系统的内核使用x5系统内核:在腾讯tbs官网上下载:x5内核,放在libs目录下x5内核初始化启动游戏游戏资源的放置目录:...

2021-02-19 21:56:35 2086

原创 js之网络消息收发

包头:public setSession(userId: number, sessionId: number) { this.userId = userId; this.uidH32 = Math.floor(this.userId / (Math.pow(2, 32))); this.uidL32 = this.userId % (Math.pow(2, 32)); this.sessionId = sessionId;} cl

2021-02-19 17:49:51 287

原创 回合制游戏代码结构分析

显示:控制:数据:

2021-02-19 15:05:01 2159

原创 creator中关于旋转所使用的欧拉角和四元数

概念四元数,欧拉角,变换矩阵,这三者是可以相互转化的,但并不是说变换矩阵等于欧拉角或者变换矩阵等于四元数,欧拉角或者说四元数他们只是旋转数据,而一个矩阵是一个空间坐标系,旋转的数据只是构造的它的一部分,他还有缩放和平移。直观上理解,我们将使用欧拉角,因为欧拉角只针对坐标轴以及这些坐标轴旋转的角度,所以欧拉角就是一个存放三条坐标轴旋转的角度的一个数组vec3,所以我们就使用欧拉角来记录我们对节点进行的旋转角度变化的数据正文看下面这段代码:当节点接收到外界旋转变化时,将变化的数据赋值给了欧拉角_eul

2021-02-03 14:35:14 1905

原创 creator中关于位运算符的使用

正常情况:有若干个状态,我们使用一个数组来保存正在使用的状态,前期判断逻辑 :当需要某个状态状态时,就往数组中添加中期处理逻辑:拿到使用中的状态,去做一些骚操作,做完以后,从数组中删除掉该状态看一段c语言的代码而下面的实现是,状态使用左移位数来区分,数组采用一个整数来表示,这样代码执行效率高,具体原理请看下面的代码/* 左移运算:就是乘以2 右移运算:就是除以2取整 */ for (int i = 0; i <1; i++) { //下面是六种状态 /

2021-02-01 15:33:16 157

原创 lua5.1字节码解析

字节码文件头lua5.1字节码文件头的长度为12字节,在我的环境里(Win7 64位,VS下编译为Win32应用)如下:1b4c 7561 5100 0104 0404 0800其中第1-4字节为:"\033Lua";第5字节标识lua的版本号,lua5.1为 0x51;第6字节为官方中保留,lua5.1中为 0x0;第7字节标识字节序,little-endian为0x01,big-endian为0x00;第8字节为sizeof(int);第9字节为sizeof(size_t);第10字节

2021-01-31 14:32:43 2481

原创 抗锯齿之几何抗锯齿

何为抗锯齿?且看下图:我们小时候都用过锯子锯柴火,锯子是一块铁皮,铁皮的两边都是一块块像毛刺一样的铁片,就用这些铁片来锯柴火。上图是不是有点像锯子呢,所以我们形象的称为锯齿,那上图的情况又是怎么出现的呢?首先上图就是四个顶点,只是连接四个顶点的时候,发现这个矩形是斜着的,矩形要在显示器上展示,就需要有颜色,矩形根据四个顶点可以确定大小,根据四个顶点的颜色,可以进行插值,算出这个矩阵的颜色!何为矩形的颜色?矩形的颜色就是以屏幕小格子为单位来计算的,矩形的显示也都是用像素小格子来表示的,光栅化的时候会根据

2021-01-19 09:18:27 625

原创 js源码字节码机器码的执行过程

认真看完下面这张图片源码:高级语言字节码:中间代码机器码:最终执行的代码谷歌浏览器内置v8引擎,v8引擎内置js虚拟机,js虚拟机负责对js语言进行解析和执行,如果是苹果浏览器的话,那么它内置的jsc引擎。下图有两种方式执行源码,左图是编译器主要针对的是c语言和c++语言,他们是静态语言,一次编译直接生成机器码,后边直接执行即可,所以代码执行效率特别高,但跨平台比较差:右图是解释器主要针对的脚本语言,如js,python等,他们是边解释边执行,效率上比较低,但跨平台性比较强,只要内置js引擎,都

2021-01-18 12:06:34 1659

原创 搭建一个简单的ts小工程

使用 browserify source tsify 整合ts代码流程就是写ts代码,使用browserify source tsify整合为一个js文件,再用html启动这个js文件,就是这么easygulpfile.jsvar gulp = require("gulp");var browserify = require("browserify");var source = require('vinyl-source-stream');var tsify = require("tsify")

2021-01-04 13:11:56 1187

原创 像素和分辨率笔记

图片的像素和分辨率对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。只是大多数人都是一知半解,而更多的人却根本就不知道,白白浪费了手机里500万、800万像素的摄影头,却不知道如何调节使用。像素是组成图象的最基本单元要素:点。分辨率是指在长和宽的两个方向上各拥有的像素个数。一个像素有多大呢?主要取决于显示器的分辨率,相同面积不同分辨率的显示屏,其像素点大小就不相同。大家都知道线是由无数个点组成的,而面是由无数条线组成,即一个平面是由无数个点所组成。

2020-12-29 13:52:10 1021

原创 creator打包微信小游戏笔记

AB包ab包通过一个文件夹生成,这个文件夹里包含了所有的图片资源,声音,脚本文件等,那么最后生成一个AB包的时候,最终的产物一个import文件夹,一个naitive文件夹,一个config.md5.json如果包含脚本的话,会单独生成一个index.js文件,将所有脚本文件合并注意:1:Creator 有 4 个 内置AB包,包括 resources、internal、main、start-scene,在设置 Bundle 名称 时请不要使用这四个名称2:小游戏分包只能放在本地,不能配置为远程包

2020-12-20 12:56:12 835 2

原创 微信web开发者工具报错笔记

错误1:我们在写js的时候,经常会用到worker线程,如果我们使用了wx.createWorker(url)但却没有在game.json中指明,那么就会报如下的错:VM219 WAGame.js:2 TypeError: Cannot read property 'workerId' of undefined at Object.createWorker (VM219 WAGame.js:2) at Object.C.<computed> (VM219 WAGame.js:

2020-12-20 09:25:53 829 2

原创 github actions使用笔记

第一步:第二步:第三步:左边红色框中的是你新建actions脚本的路径和名字,根目录就是你的项目根目录点击右边的start commit 按钮完成创建第四步:点击commit new file按钮 完成创建 你就可以在你的项目中看到main.yml这个配置文件了第五步:重点1:- uses: actions/checkout@v2 这个是必须要使用的,拷贝你的代码这样做了以后,那么脚本你可以自行决定 shell js皆可name: CI# Controls when the

2020-12-19 10:21:43 286 1

原创 cnpm install命令不起作用

在windows上输入cnpm install 没有反应 实际上已经安装了cnpm命令啊!!!!!!!!!解决办法:npm set registry https://registry.npm.taobao.org npm set disturl https://npm.taobao.org/distnpm cache clean --force npm install -g cnpm --registry=https://registry.npm.taobao.org ...

2020-12-19 10:01:08 1215 2

原创 creator 遮罩组件的使用

1:新建一个空节点mask,给mask节点加上一个cc.Mask组件2:设置遮罩的类型 Rect(矩形),ELLIPSE(椭圆形),Image_Stencil(图片)目前支持这三种类型,我们用的比较多的是最后一种类型图片遮罩从外部导入一张图片赋给遮罩的spriteframe,生成遮罩纹理,这张图片什么形状将产生什么样的遮罩效果组件下的inverted这个值是是否取反的意思组件下的alpha thresold这个值介于【0,1】之间3:最后向这个节点上添加一个我们想遮罩显示的节点,这个节点上的图

2020-12-09 16:29:19 681

原创 git 使用的一些零碎笔记

将修改放入暂存区:git add .从暂存区将代码提交到本地git commit -m tijiao 从本地将代码推送到远程git push从远程拉取git pull丢弃还没有放入暂存区的修改git checkout --*push或者pull报错1今天用Git提交代码,先拉取代码的时候,Git报了一个错误:The requested URL returned error: 429然后从网上搜索了一下解决方法,原来是提交代码大小的问题,git单个文件默认大小是50M,超

2020-12-05 16:52:13 397 1

原创 ts语法笔记

关于map的使用定义一个Map: let map = new Map<string, string>(); map.set("a", "1");遍历方式:  1.(推荐使用) map.forEach((value, key) => { }) (参数顺序:value在前, key在后)  2. let iterator = map.values(); let r: IteratorResult<string>; while (r = iterator.ne

2020-11-17 14:05:20 818

原创 creator 生成bmfont字体文件

字体设置:设置字体 :华康圆体W7code编码 :unicode字体大小:26加载字体文件在上面的一步中选择了字体文件,这个字体文件我们可以自己选择,其实指的就是ttf文件,可以双击它,即可安装到操作系统中,然后点开上面工具的字体设置,就可以搜索到,记住这一步很重要,我们必须指定字体文件,如果操作系统有我们需要的ttf字体文件,那么我们就不需要额外去安装,如果没有,就要自己手动安装制作字体文本新建一个文本文件,将用到的文字全部放进去,最后保存为utf8格式字体文件导出设置设置图片尺寸

2020-10-30 20:20:12 319

原创 九宫格笔记

9宫格缩放规则如下:1、将一张图分割成9块2、四个角(1,3,7,9)在缩放的时候是保持大小不变3、图块2,8仅当宽度变化时缩放宽度。4、图块4,6仅当高度变化时缩放高度。5、图块5当图片大小发生变化,宽度和高度都进行缩放。实现原理正常情况,我们把一张矩形图片显示在窗口中,只需要发送四个顶点的信息和一张纹理,GPU会根据我们发送的顶点对显示对象进行光栅化,产生更多的像素,然后着色显示出来,我们的顶点信息除了包含顶点的位置,还有顶点的uv坐标,GPU在光栅化的时候,会进行插值来计算所有像素的u.

2020-10-29 14:20:35 591

原创 gltf骨骼动画解析笔记

gltf骨骼动画分为两部分,一部分是骨骼动画的结构信息,一部分是buffer数据结构信息属性accessors是一个访问buffer数据的中间件bufferView:指明了在bufferViews中的索引componentType:指明了每一个数据有几个字节组成,常见的类型如下‘5120’: Int8Array, // gl.BYTE‘5121’: Uint8Array, // gl.UNSIGNED_BYTE‘5122’: Int16Array, // gl.SHORT‘51

2020-10-29 07:12:16 3825 5

原创 奇葩报错

问题1:使用一个登陆接口,同样都使用https,在安卓上正常,在ios上蹦了,将https换成http,发现又正常了最后发现是https证书到期了,哈哈

2020-10-27 12:55:09 126

原创 js 本地加载json和二进制文件

加载二进制文件 var request = new XMLHttpRequest(); request.open("get","res/models/killer_whale/whale.CYCLES.bin"); request.send(null); request.responseType = "arraybuffer"; request.onload = function(){ console.log("arr

2020-10-21 13:57:19 1699

原创 图形学中易混淆的知识笔记

纹理中像素的纹理坐标是从它们的边缘计算的。像我们在纹理的文章中提到的纹理坐标从0到1。0是最左边缘的像素,1是最右边缘的像素。如果你有宽度为3像素的纹理,那就像这样选取某个特定像素,那么公式是 (x + .5) / width上面的每个像素是 (0 + .5) / 3 = 0.166 (1 + .5) / 3 = 0.5 (2 + .5) / 3 = 0.833或者...

2020-10-20 10:08:30 411

原创 cocosCreator使用笔记

1:如何快速的寻找uuid对应的资源?

2020-10-12 09:06:52 558

原创 webgl常见报错

报错1texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible tex解决办法:有可能是你加载的图片不是2的幂次方尺寸的图片,然后你又在代码中使用了必须使用2的幂次方尺寸纹理才能做的特效,比如渐进纹理mipmap,还有可能是你的图片还没加载完成,你就开始使用了,这个时候需要等待加载完毕...

2020-09-30 14:35:47 3603

原创 图片压缩操作笔记

@echo offset /p searchDir=please input png dictionary: set /p outputDir=please out pkm dictionary: set workPath=D:\softwareDir\mailTextureCompressTools\bincd /d %workPath%set pkmFolerExtName=__pkm::清空输出文件夹内容for /d /r %outputDir% %%t in (*) do.

2020-09-27 14:06:39 364

原创 webgl1实现实例化绘制多个物体

前言加入遇到了这样的一个需求,我们有一个2d的物体,我们的需求是在屏幕上去显示若干个这样的物体,只是每个物体的除了顶点一样之外,这些2d物体还会进行旋转,缩放,平移,还有就是颜色的变化解决这个问题:只发送一次绘制来渲染所有物体由于物体的顶点都是相同的,所以我们将顶点发往GPU的显存中存着等待调用,关于旋转,缩放,平移,只不过是空间坐标系在变化,颜色我们另外传值就好开始代码讲解shader代码如下:var vertexshader3d = 'attribute vec4 a_positi

2020-09-25 09:51:17 897

原创 chrome浏览器性能分析

perfomance record第一行:显示了我们截屏的时间0-3200ms,也就是说我们大概录了3秒的时间第二行:fps的帧率图,我们可以只观的看到帧率的变化第三行:cpu使用率图,我们也可以只官的看到第四行:net,这个忽略不说,应该是网络下载的消耗第五行:这个是重点,frames,我们可以看到每一帧渲染的图片和它渲染的时间,我们可以一帧一帧的选中,然后在下面的summary中查看具体的消耗,其实我们比较关心的是cpu和gpu的消耗,这个都是一眼可以从summary中看到的,但如果要定位到

2020-09-25 09:29:41 6930 2

MemoryReleaseManager.ts

MemoryReleaseManager.ts

2024-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除