Unity开发
文章平均质量分 83
窗外听轩雨
这个作者很懒,什么都没留下…
展开
-
Unity工具类 ResourcesManager资源管理器
经过创建映射文件,读取映射文件,解析映射文件,现在我们能够得到一个名字-路径的映射字典,只需要封装一些通用的方法,即很容易的实现通过名称加载资源,在这个管理类中,还需解决缓存防止多次加载的问题,异步加载的协程和委托等等,下面是完整源码。资源的加载,一般路径会因为文件夹结构的调整经常改变,但资源名称很少会进行更改,解决这个问题的核心思想就是如何只用资源名称就能加载到Resources文件夹下指定的资源,可以编写一个Editor工具用来。通常来讲,直接从Resources下进行资源的加载,有几个明显的缺点。..原创 2022-08-02 14:00:12 · 2719 阅读 · 1 评论 -
Unity C#工具类 ArrayHelper
C#下传统的数组不支持Linq库,无法方便的进行查询,查找最值,批量获取等操作,利用泛型制作通用的ArrayHelper工具类,使得数组也像List一样支持基本的Linq库的操作。原创 2022-07-21 10:57:56 · 826 阅读 · 0 评论 -
Unity的三种单例模式(饿汉,懒汉,MonoBehaviour)
对象全局唯一,且经常被使用。学过面向对象的小伙伴对static想必都不陌生,其具有的特质和今天要讲解的单例十分相似,自然后续的单例模式也会使用到。刨根问底:static属性为何类中唯一共享? C#中创建的所有类都会存在一个全局唯一的类型对象(System.Type),类型对象中会保存此类的函数表,静态字段等等,也就是说其实静态字段存储在全局唯一对应的类型对象中,而不是存在于此类new出来的实例对象中,现在就能很好的解释静态字段两点性质啦。为了更好的实现代码复用,以下三种单例模式均会采用工具类的设计原创 2022-07-04 19:56:55 · 5104 阅读 · 7 评论 -
Unity下FSM有限状态机详解
FSM有限状态机详解文章目录FSM有限状态机详解FSM的定义FSM的适用性FSM的设计分析状态转换表的使用状态和条件的标识符Id条件基类的设计 FSMTrigger状态基类的设计 FSMState状态机的设计 FSMBaseFSM核心源码FSMTrigger.csFSMState.csConfigReader.csFSMConfigReader.csFSMConfigReaderFactory.csFSMBase.csFSMDemo 塔防实例效果展示状态转换表及配置文件FSMBase 状态机基础类F原创 2022-04-16 23:01:16 · 2218 阅读 · 0 评论 -
Unity框架之对象池GameObjectPool
Unity框架之对象池GameObjectPool文章目录Unity框架之对象池GameObjectPool对象池的核心思想对象池的使用流程对象池的设计通用的对象池框架对象池的数据结构关键方法:获取游戏对象关键方法:回收游戏物体对象池的拓展对象池的完整源码对象池的核心思想将需要频繁创建销毁的游戏对象缓存起来,将创建销毁行为替换成显示和隐藏,大大提高游戏运行效率。典型的以空间换时间的思想对象池的使用流程对象池的设计根据上图对象池的使用流程分析对象池的特点每个类型的对象应该有属于自己的独立的原创 2022-04-03 20:55:52 · 5931 阅读 · 0 评论 -
A*寻路算法,循序渐进,附完整源码
A*寻路算法—循序渐进(附完整源码)用途 A*寻路算法的一般用途即为灵活地寻找初始点到目标点的最短路径。概述 灵活是A*算法更为注重的特性,可以任意添加障碍物,可以对不同地形的寻路损耗赋予不同的权重,可以设置优先级等等。最短路的算法有很多,Dijkstra,BFS(广度优先搜索)等等,本文着重介绍基于BFS实现的A星寻路算法。BFS算法原理 在介绍A星算法前,先介绍一下BFS求最短路的方法。广度优先搜索主要用到的是队列,求最短路的基本思路即为,每走一步都遍历以当前格子的九宫格范围内满足条件原创 2022-02-27 13:30:21 · 2356 阅读 · 0 评论