自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 CocosCreator 接入优量汇导致场景加载了两次

cocos 2.0.10优量汇接入h5游戏的文档中有以下这段代码需要加入这段代码会导致我的初始化场景重新再加载一次,如下输出是在第一个场景的唯一一个脚本的onload内输出的去掉代码就不会输出两次了...

2022-04-08 18:07:25 12446

原创 Typescript/js 笔记(5) 异步

ECMAscript 6 原生提供了 Promise 对象。Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。新建promise对象,一旦新建它就会立即执行,无法中途取消,Promise对象的状态不受外界影响,只有初始pending,成功Resolved,失败Rejected三种状态,一旦成功或失败状态就定住不变了。var promise = new Promise(function(resolve, reject) {// 异步处理 // 处理结束后、调...

2022-02-10 18:39:45 1609

原创 算法查找子字符串

1.查找子字符串问题:For a given source string and a target string, you should output thefirstindex(from 0) of target string in source string.If target does not exist in source, just return-1.算法要求:输入源字...

2022-02-10 17:52:39 385

原创 Typescript/js 笔记(5) this与作用域

在函数中,this指向当前函数的作用域,this的值在函数被调用的时候才会指定。我如果在类中写了一个class A{ private a:number=0; private b:number=0; public testFun(){ this.a=this.b=10; }}这里的this就是类A的一个对象,可以正确的修改对象的a与b值而如果是这样:你觉得是输出是5还是10?class A{ private a:numbe

2022-02-09 14:33:39 390

原创 错误Error 5000,destroyImmediate is not a function

Error 5000,这个destroyImmediate is not a function,解释说destory了两次,其实是组件有问题我遇到了这个问题,在切换场景时发生的错误。这个BUG在本地调试时不会发生但是打包之后才有,可以检查一下模块设置是不是漏了什么模块,我的是在一个active=false的节点上加了一个没有勾上的模块的组件,在切换场景时发生错误...

2021-07-07 17:40:46 1415

原创 Typescript/js 笔记(4) 装饰器

装饰器在ts中还是实验性特性,未来可能会删除,所以在ts/jsconfig.json中要设置{ "compilerOptions": { "experimentalDecorators": true } }在一些场景下我们需要额外的特性来支持标注或修改类及其成员。 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,访问符,属性或参数上。 装饰器使用...

2021-06-28 13:46:04 173

原创 Typescript/js 笔记(3) 模块 命名空间

从 ECMAScript 2015 开始,JavaScript 引入了模块的概念。 TypeScript 也沿用这个概念。模块在其自身的作用域里执行,而不是在全局作用域里。这意味着定义在一个模块里的变量,函数,类等等在模块外部是不可见的,除非你使用 export 导出它们。 相反,如果想使用其它模块导出的变量,函数,类,接口等的时候,你可以通过 import 导入它们。在类声明、接口前加上 export,这样在其他的文件中import这个类/接口之后就可以直接使用这个来声明变量一个文件就是一个模块

2021-06-28 10:25:57 171

原创 Typescript/js 笔记(2) 类、函数、数组、接口

传统的javascript是没有类的,能够使用基于类的面向对象的方式是ES6之后的事情,在ts中,你可以像C#、JAVA那样使用面向对象的语法,如class extends implement,interface,public,private ,get,set这些语法统统都有,继承,多态,封装都可以正常实现在类的声明内,在函数声明中如果要获取同类属性时需要this.属性派生类包含了一个构造函数,它必须调用super(),它会执行基类的构造函数。 而且,要在构造函数里访问this的属性之前调用s...

2021-06-28 10:08:05 253

原创 Typescript/js 笔记(1) 基础数据类型,变量,对象

值类型(基本类型):字符串(string)、数字(number)、布尔(boolean)、空(null)、未定义(undefined)、symbol。引用数据类型:对象(Object)、数组(Array)、函数(Function)。在js中对象跟其它语言中的类的对象的概念是不太一样的,在JavaScript中,对象也是一个变量,但对象可以包含多个值(多个变量),每个值以键值对呈现,并用大括号{}包住定义一个对象,对象是变量的容器,但我们通常认为 "JavaScript 对象是键值对的容器"。键.

2021-06-25 11:43:46 219

原创 Cocos creator 查错日志

cocos查错

2020-10-09 15:08:13 1308 1

原创 git 用于日常工作的新手教程

git作为一个多人协作的版本工具具体到个人上就是,你拥有一个本地库,对应一个集中的远程库,平时远程库跟本地库是平行发展的不互相影响想要将本地库同步远程库的修改,可以通过拉取操作你的修改如果被提交会先在本地缓存,这时推送才将远程库同步此本地修改。日常工作流程(默认已安装好TortoiseGit,克隆了库):1.别人给需求(要改什么,做什么)先从dev中拉取最新修改创建...

2020-04-14 11:56:02 423

原创 Cocos Creator 预加载界面进度条

预加载界面进度条一般使用下面的方法cc.loader.loadResArray(资源url数组,资源类型,进度回调,完成回调)在进度回调中function(completeCount,totalCount,item){ progress=completeCount/totalCount}将进度条的progress设置成这个progress即可,但是直接设置可能感觉很跳...

2020-03-11 21:03:14 2462

原创 字符串子串匹配KMP算法

private subStringIndex(source:string,target:string):number{ if(target.length>source.length||!source||!target){ return -1; } let res=-1; for(let i=0;...

2020-03-07 17:06:52 408

原创 关于UnityECS框架的学习

ECS代码框架 最早是暴雪<<守望先锋>>中采用的游戏框架ECS是EntityComponenSystemt实体、组件、系统的缩写,在unity中将GameObject转化成实体Entity,Entities用一个struct数组保存,System控制entity的逻辑其OnUpdate方法相当于GameObject的Update,Component保存entity的数...

2020-02-27 15:32:57 739

原创 使用Unity和A*插件实现LoL英雄联盟中的移动方式

LoL中的移动方式是怎么样的呢?我分析一下应该是这样的:右键单击选择目标点,角色会向着目标点走去,而去目标点的路上如果点击了其它目标点就更新目标点,如果中间有障碍会自动选择最近的路径,如果目标点不可抵达就向目标点最近的可抵达目标点移动。到达了目标点角色就停下。英雄联盟中角色与正常的人的移动是不一样的,它是匀速的,这是为了提高玩家对其的操作掌控感,所以移动时不能使用插值的方式去移动物体,不能...

2019-12-20 19:52:33 935

原创 Egret学习笔记(一)

一:下载EgretLauncher,打开Egret Wing并创建项目,选择扩展库,最好在创建项目时确定好要添加的扩展库,如果后期要添加egret可能识别不到。在项目目录下的egretProperties.json文件中可以看到每个添加的扩展库其实就是一个modules程序运行的入口类是Main类,在src文件夹下,(项目代码都应该放在这个文件夹下)这个入口类可以在index...

2019-08-15 14:04:39 682

原创 关于六边形地图的生成算法

需要能动态改变地图的层数,当输入的layer不同生成的地图层数也就不同,所以我使用算法动态生成棋盘格地图。通过定义好的tileWeight和tileHeight,i从下到上,j从左到右确定每个格子的世界坐标x,y。关键代码如下:for(int i=2*layer-1);i>=0;i--){ int count=(i>=layer?3*layer-2-i:i+lay...

2019-06-22 15:17:50 6466

原创 Photon Unity Networking(PUN)

1.导入PUN在PhotonServerSettings设置AppId这需要你有photon的账号,在新建Application中在Hosting里面要选择PhotonCloud,将你的AppId复制到PhotonServerSettings面板中,每个Client程序都是通过这个AppId去连接你的PhotonClound服务器,不同地区的玩家是会连接到不同地区上的服务器,无法直接相连。...

2019-06-20 08:26:21 1928

原创 Unity WebGL报错BuildPlayerWindow+BuildMethodException

我使用Unity2018.3导出WebGL游戏时发生错误:UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x00234] in...

2019-04-30 11:05:20 11736 1

原创 Unity3D使用Cloth组件解决战士皮甲穿帮问题

我遇到了一个衣服与大腿的mesh"穿帮"的问题,网上查了一下可以使用Unity的组件Cloth该组件在物理组件的子组件中,增加Cloth的衣服应该使用SkinnedMeshRenderer,否则不会响应,在大腿加上两个CapsuleCollider在游戏运行的时候Cloth物体会自动被CapsuleCollider影响但是在运行走路的时候我感觉这个太软了,这个武士的应该是皮甲...

2019-04-29 10:07:44 1367

原创 GOAP算法

1.GOAPGOAP(以目标为导向的行动计划)是一种AI代码框架也是一种游戏中对于复杂的AI、动画系统的做法,根据目标在环境中的信息决策出最佳和行动方案或者路线,从而达到看起来更逼真合理,相对智能的AI、动画。基础框架中实现Agent代理+IGoal数据提供者+Planner决策者+Action行动+FSM状态机实际中可以不必拘泥于一定要这样实现,主要是要实现它的思想代理人有一...

2019-04-26 10:15:14 2035

原创 Unity3D关于随机生成敌人的分级算法

问题:假设我有10种敌人,一共20关,每关3-5个敌人就可以满足我的关卡难度,那么怎么随机生成每关的敌人,使每一关的敌人尽量都不一样同时难度递增呢?1.生成敌人个数曲线: 如果3-5个敌人就可以满足关卡难度那么每多一个敌人,难度就是成倍增加的,所以随着关卡数上升,敌人个数不能线性增长,可以对数增长,即敌人数基数 =log关卡数但是这样第一关不就生成0个敌人?所以应该还要...

2019-02-16 09:45:38 3378 4

翻译 DOTween插件学习笔记

术语Tweener 控制值并对值进行动画Sequence 特殊的Tweener控制其他的Tweens,并将它们作为一个组进行动画。Tween 既表示一个Tweener,也表示一个Sequence。Nested Tween 包含在Sequence中的嵌套tween准备工作"Tools/Demigiant" menu打开Dotween Utility Panel,点击Setup DoTween在你想要...

2018-07-08 05:09:52 4019

原创 Unity3d 实现 A * 寻路算法

原理A* 算法是一种启发式搜索算法,通过代价函数f = g+h,A*算法每次查找代价最低的点作为搜索点,并更新搜索节点列表。最终搜索到目标位置。需要定义两个列表 (Open和Closed列表):    private List&lt;Tile&gt; openList = new List&lt;Tile&gt;(); private List&lt;Tile&gt; closeList ...

2018-07-04 18:10:51 1722

原创 2d模版卷轴游戏总结

这个游戏开始是参考了Celeste,因为我觉得Celeste好玩就想自己做一下。。主角的设计是一只猫,当然这个不是我设计的,同组的小伙伴画了一只怪盗形象的猫。游戏运行开始画面 主角代码 的框架我使用了状态机,这是我一开始的设计,当然最后会有一点不同大概小做了5、6关这个游戏我考虑了很多的细节背景的多层移动营造3D空间感2D光线的使用,角色光,环境光,荧光...

2018-07-02 14:39:45 1822

原创 C++学习笔记(一)

1.变量变量的值都存储在内存中。内存中每个单元都有一个唯一的编号,就是单元的地址,变量在运行时占据内存单元互不相同的地址,C++的目标代码靠地址来区别不同的变量。2.表达式:虽然内存是存储c++变量的主要场所,但不可能一切读写操作都通过在内存中进行,事实上,CPU的大部分读写操作都是对寄存器进行的。寄存器从内存中取得变量值,存储每一步运算的中间结果,最后返回给表达式。3.函数调用:首先计算实参列表...

2018-03-17 22:20:32 264

原创 unity 2D汽车控制,关于图片的平滑旋转

以下实现的是一个2D垂直视角汽车的控制private void MoveUpdate(){    float h = Input.GetAxis("Horizontal");    float v = Input.GetAxis("Vertical");    if (v != 0 || h != 0)    {        rigibody.velocity = D

2018-01-10 22:25:46 1293

原创 动态导入资源

第一步:导入AssetBundle包 AssetBundle.LoadFromMemoryAsync//从内存中加载 AssetBundle.LoadFromFile //从硬盘中加载 WWW.LoadfromCacheOrDownload(将来会被UnityWebRequest替代)//从网络中加载 UnityWebRequest’s Download

2017-10-20 23:22:21 458

原创 unity2017新功能Timeline

用来创造cut-scene,cinematic,game-play sequence,简单来说就是制作过场动画的新窗口。基本知识Timeline Asset它的概念类似Prefab,其不与特定的GameOjbect联系,保存在工程中,可重用 在时间线上放置animation动画在记录关键帧时会生成animation同时其成为Timeline Asset的子物体 Timeli

2017-08-30 15:23:46 5850 2

2d横版卷轴游戏demo

不包含源代码,类似Celeste操作,游戏运行文件,使用unity3d开发

2018-07-02

空空如也

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

TA关注的人

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