自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自闭的饭盒

以前我没得选择 现在我想做一个游戏开发者

  • 博客(60)
  • 收藏
  • 关注

原创 Unity学习笔记:委托和Lambda表达式用法

委托是一类行为的抽象。是方法的引用,是一种数据类型委托可以实现对方法的【间接】调用!灵活=维护性好!委托的定义:委托是一种数据类型;委托代表的是方法,当调用委托时就是调用了这个方法。【委托能存储方法的地址{引用}】【间接调用】using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoDe.

2020-07-06 11:46:42 2369

原创 Unity学习笔记:有限状态机

目录AI课程介绍 应用案例-ARPGDemo3.X 1. 问题【需求】 2. 分析: 3. 设计类图 4. 实现 AI课程介绍人工智能(Artificial Intelligence, AI)人工智能范围很大,分支很多,工业军事等机器人的人工智能这里讲的是在游戏中的人工智能大型游戏敌人的AI很多设计AI要注意:AI可能会有多套:尽可能复用相同的内容。 一套AI可以调整:AI不要硬编码: 调整但不改代码:配置 AI--有限状态机---行..

2020-11-06 21:13:56 475

原创 Unity学习笔记:智能感知

目录感知系统 感知系统架构图 感知系统类图 1触发器类型TriggerType 2抽象触发器AbstractTrigger 3抽象感应器AbstractSensor 4感知系统SensorTriggerSystem 5视觉触发器SightTrigger 6视觉感应器SightSensor 7听觉触发器SoundTrigger 8听觉感应器SoundSendor 感知系统:在软件领域中:模拟人【或动物】的感觉的软件系统。...

2020-11-06 21:13:39 595 1

原创 Unity学习笔记:Transform助手类

using UnityEngine;using System.Collections;public class TransformHelper : MonoBehaviour { //找到FindChild 放在这里 递归! public static Transform FindChild(Transform trans, string goName) { Transform child = trans.Find(goName); if (chi.

2020-11-06 20:47:38 398

原创 Unity学习笔记:资源管理工具

using UnityEngine;using System.IO;using UnityEditor;//1/// 生成 资源配置文件的类[配置文件:初始化文件]public class GenerateResConfig : Editor//2{ //生成菜单 3 [MenuItem("Tools/Resources/Generate Config File")] public static void Generate()//4 //5Editor { .

2020-11-06 20:43:34 251

原创 Unity学习笔记:单例工具类

/// <summary>/// Generic Mono singleton./// </summary>using UnityEngine;public abstract class MonoSingleton<T> : MonoBehaviour where T : MonoSingleton<T>{ //2 private static T m_Instance = null; //3 public stati.

2020-11-06 20:37:33 175

原创 Unity学习笔记:AI操控板书

了解操控的概念操控控制物体的运动,使其按照预定的目的或轨迹运动如:靠近,远离算法 AI控制物体的运动,解决的运动会更细节一些,赋予运动一些目的性。自动行为操控控制物体的运动,物体自己动,自己要有判别能力用到的就是技术主要就是:向量的加减乘除。运用软件技术和向量的运算实现自动行为操控。逻辑可以复用。如:地面上的运动:寻路在三维空间中的运动,飞机,鸟需求:通过软件实现 自动行为操控1》自动行为:分类(单体运动8种,群体运动2种)...

2020-10-24 10:56:20 193

原创 Unity学习笔记:sqlite数据库

基本操作using UnityEngine;using System.Collections;using Mono.Data.Sqlite;using System.IO;public class TestDB : MonoBehaviour { /// <summary> /// 数据库 /// </summary> private DbAccess db; /// <summary> /// 数据库路径 /// </summary>

2020-10-02 09:45:04 2030 3

原创 Unity学习笔记:Json解析LitJson

json解析的基本操作。using UnityEngine;using System.Collections;using LitJson;public class TestJson : MonoBehaviour { private string json1; private string json2; private string name; private int lv; private string job; private float exp; /// <sum

2020-10-02 09:32:08 334

原创 Unity学习笔记:配置文件(XML)

创建XMLCreateElement 创建XML元素SetAttribute设置属性InnerText 获取或设置节点及其所有子节点的串联值。AppendChild 将指定的节点添加到该节点的子节点列表的末尾Save 将 XML 文档保存到指定的位置创建一下XML文件(xml文件的基本格式)<root_CharacterTemplateData> <CharacterTemplateData id="0" nam...

2020-08-21 04:21:04 742

原创 Unity学习笔记:NGUI常用脚本

查找子物体using UnityEngine;using System.Collections;public abstract class Global{ public static string LoadUIName = ""; public static string LoadSceneName = ""; public static bool isBattle = false; public static bool Contain3DScene = false; publi

2020-08-08 20:47:38 295

原创 Unity学习笔记:设计模式-Mediator(中介)

意图 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 适用性 一组对象以定义良好但是复杂的方式进行通信。产生的相互依赖关系结构混乱且难以理解。 一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。 想定制一个分布在多个类中的行为,而又不想生成太多的子类。 案例:(几个人打牌 输赢的计算)using System;using System.Colle.

2020-08-06 04:29:38 180 1

原创 Unity学习笔记:设计模式-STATE(状态)

关键词:状态决定行为对象状态的改变,从而带来行为上的变化。意图:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类适用性:• 一个对象的行为取决于它的状态 , 并且它必须在运行时刻根据状态改变它的行为。• 一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一个或多个枚举常量表示。通常 , 有多个操作包含这一相同的条件结构。 S t a t e模式将每一个条件分支放入一个独立的类中。这使得你可以根据对象自身的情况将对象的状..

2020-08-06 03:47:14 1879

原创 Unity学习笔记:设计模式-STRATEGY( 策略)

关键词(切换算法)算法是多种实现,但是实际使用中,往往选择其中之一,且可以在运行时切换不同的算法,看上去就像动态改变一个方法的执行。(就像 if else 变成了一个类)意图:定义一系列的算法 ,把它们一个个封装起来 ,并形成一个一致的抽象,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。适用性:• 许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。• 需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间 /

2020-08-06 03:40:46 200

原创 Unity学习笔记:设计模式-TEMPLATE METHOD( 模板方法)

关键词(骨架)对于某功能实现的大流程已经确定,但是每一个步骤可能有不同的实现。在父类中定义流程(骨架)子类负责每个步骤的具体实现。(eg:团建活动 : 住宿 开会 固定,娱乐活动自由选择)意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。适用性:• 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。• 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复.

2020-08-05 18:46:55 205

原创 Unity学习笔记:设计模式-Builder (建造器)

关键词:组装复杂对象:对象中的成员可能是其它类型的对象复杂对象的结构是稳定的,但是组成结构的具体对象是变化的。意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用性:• 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。• 当构造过程必须允许被构造的对象有不同的表示时案例:(服务员根据用户选择对象 端来具体的餐食)using System;namespace Builder_DesignPattern{ ..

2020-08-05 18:25:50 313

原创 Unity学习笔记:设计模式-DECORATOR (装饰)

关键词:包装对一个对象动态扩展原有的行为能力,不断包装,不断的扩展意图:动态地给一个对象添加一些额外的职责。就增加功能来说, D e c o r a t o r模式相比生成子类更为灵活。适用性:• 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。• 处理那些可以撤消的职责。• 当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成...

2020-08-05 01:53:15 264

原创 Unity学习笔记:设计模式-COMPOSITE(组合)

关键词:树将对象组织成树形结构意图:将对象组合成树形结构以表示“部分 -整体”的层次结构。 C o m p o s i t e使得用户对单个对象和组合对象的使用具有一致性。适用性:• 你想表示对象的部分 -整体层次结构。• 你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。案例:(公司结构 部门-员工 整合获取某一部分员工信息)namespace FactoryMethod_DesignPattern2{ using System;.

2020-08-05 01:46:15 369

原创 Unity学习笔记:设计模式-BRIDGE(桥接)

关键词:连接两端的变化两个父类的派生类存在组合关系 排列组合的情况,其中一个父类调用另一个父类的方法 让子类继承,用以形成连接。意图:将抽象部分(主体的成员)与它的实现部分分离,使它们都可以独立地变化。适用性:• 你不希望在抽象和它的实现部分之间有一个固定的绑定关系。 例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。• 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时 B r i d g e模式使你可以对不同的抽象接口和实现部分进行组合,并分别对

2020-08-05 01:19:44 716

原创 Unity学习笔记:设计模式-ADAPTER(适配器)

关键词:转接两个功能一致的类,但是由于接口的不同不能直接复用,加入适配器做接口转换。适用性:• 你想使用一个已经存在的类,而它的接口不符合你的需求。• 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。• (仅适用于对象 A d a p t e r)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。案例:(用手机给电脑传数据接口不同 需要一根数据线)namespa.

2020-08-05 00:51:51 344

原创 Unity学习笔记:设计模式 Facade (外观,门面)

关键词:向导 (设定好几个类的执行顺序步骤,直接使用设定,方便调用者调用)namespace Facade_DesignPattern{ using System; class SubSystem_class1 { public void OperationX() { Console.WriteLine("SubSystem_class1.OperationX called"); } } class SubSystem_class2 {...

2020-08-02 23:43:41 221

原创 Unity学习笔记:设计模式-工厂 抽象工厂

多选一功能:据不同的条件产生不同的对象 这些不同的对象类型不同,却具有共同的父类案例↓(去餐馆 选择吃的)工厂类using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace dp1_FactoryMethod{ ...

2020-08-02 23:22:03 176

原创 Unity学习笔记:程序集与反射

程序集定义:【.net平台】应用程序编译后的结果exe,dll,….反射:获取程序集中信息的技术叫反射。反射可以动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法。反射的作用: 1. 了解类型信息 2.动态创建类型实例【对象】,动态访问实例的成员【调用方法】动态 优点:灵活!可维护!》复用性好!【缺点 性能略低】反射使用案例↓using System;using System.Collection...

2020-08-02 02:50:52 762

原创 Unity学习笔记:游戏对象池

容器(用于存放缓存的对象) 游戏对象池 池=容器=【字典】 列表? 放元素=游戏对象{技能A,技能B,特效,.....} 专门针对 游戏场景中的游戏对象 使用池技术using UnityEngine;using System.Collections.Generic;using System.Collections;/// <summary>/// 游戏对象池://...

2020-07-30 21:35:41 269

原创 Unity学习笔记:单例设计模式

单例设计模式 定义:是设计模式中最简单的一个设计模式 单例设计模式本质上就是一个类,一个特殊的类 特殊1:构造方法私有 2:包含一个 静态私有字段 返回自己的类型 3:包含一个 静态公共方法 返回自己的类型 用途:保证自己在应用程序域中 最多仅有一个实例【对象】存在 生活:国家 总统【正】 国家主席【正】 任何设计模式:具体代码实现 有差异 创建单例的三种方法↓using System;...

2020-07-30 21:17:24 164

原创 Unity学习笔记:数组工具类

using System;using System.Collections.Generic;using System.Linq;using System.Text;/// <summary>/// 选择委托:负责 从某个类型中 选取某个字段 返回这个字段的值/// 例如: 学生类中 年龄 值 20!/// </summary>/// <typeparam nam.

2020-07-28 23:41:52 218

原创 Unity学习笔记:泛型

泛型就是将类型做参数泛型约束 T:struct 类型参数必须是值类型。可以指定除 Nullable以外的任何值类型。 有关更多信息,请参见 使用可以为 null 的类型(C# 编程指南)。 T:class 类型参数必须是引用类型;这一点也适用于任何类、接口、委托或数组类型。 T:new() 类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时, new()约束必须最后指定...

2020-07-28 23:29:06 522

原创 Unity学习笔记:方法重写

什么是虚方法:定义【语法】:用vritual关键修饰的已经实现的方法,即是虚方法语义【含义】:虚方法表示一个可以在子类中重写的方法【重写不重写都可以】【步骤1:】在父类中定义虚方法【步骤2:】在子类中定义重写方法【重写方法:和父类中的方法名相同参数相同方法返回类型相同,要加override】三种方法可以重写abstract 方法在子类必须重写,除非子类也是抽象类virtual 方法在子类可以重写,父类方法的做法...

2020-07-03 08:12:30 1812

原创 Unity学习笔记:2D游戏精灵碰撞互动效果

2d精灵物理碰撞。Unity2D碰撞效应Area Effector 2D地区效应: 适用于特定区域内的定向力度Use Collider Mask使用碰撞遮罩。Collider Mask碰撞遮罩。Use Global Angle使用全球角度。Force Angle力角度应用。ForceMagnitude应用力的大小。Force Variation力的大小的变化。Drag线性阻力。Angular Drag角度阻力。Force Target力应用的...

2020-07-03 00:53:21 1895

原创 Unity学习笔记:NGUI背包物品拖拽逻辑

子类化拖拽容器组件,复写拖拽结束逻辑。using UnityEngine;using System.Collections;public class MyDrag : UIDragDropItem { //拖拽结束时 //surface拖拽结束时碰到的精灵 protected override void OnDragDropRelease(GameObject surface) { base.OnDragDropRelease(surface);

2020-07-02 05:56:11 338

原创 Unity学习笔记:NGUI的基本操作

NGUI→Create→Sprite 创建精灵 NGUI→Open→Atlas Maker 自定义图集图片拉抻设置NGUI→Create→Anchor(Legacy) 创建锚点设置锚点位置,与控件形成父子关系。设置屏幕内控件等比缩放。label使用中文字体,选择unity添加字体文件。点击事件需要添加碰撞和button组件。(重叠的物体仅为一个添加碰撞组件)图片样式设置成精灵,对其进行切割。使用2d精灵可使图片动起来,添加组件。开关。...

2020-07-02 05:37:33 540 2

原创 Unity学习笔记:Shader相关CG语言的基本语法结构

Shader的基本功能格式↓Shader "MyCustom/MyShader" { Properties {//属性 // 属性名字 界面显示名 类型 值 _Color("MyColor",color) = (1,0,0,1) _AmbientColor("AmbientColor",color) = (1,0,0,1) _SpecularColor("SpecularColor",color) = (1,0,0,1) _Shininess("Shininess"..

2020-07-02 03:31:18 395

原创 Unity学习笔记:人物换装换武器

知识点:对数据的本地化存储和取用(PlayerPrefs 类)诞生角色using UnityEngine;using System.Collections;/// <summary>/// 诞生角色/// </summary>public class BirthPlayer : MonoBehaviour{ private int clothIndex = 0; public GameObject player; public Tex

2020-05-12 22:43:27 1692

原创 Unity学习笔记:Mecanim相关脚本

任意状态using UnityEngine;using System.Collections;public class AnyStateTest : MonoBehaviour{ public float playerHP = 5; private Animator anim; private bool flag = true; private void Start() { anim = this.GetComponent<Anim

2020-05-12 22:10:23 182

原创 Unity学习笔记:Max常用操作

1.配环境:分别调整显示(Display)单位调成米,系统单位(System)为厘米,自动保存的数量及时间,max点的大小

2020-05-12 21:33:47 1500

原创 Unity学习笔记:射线拾取物体

知识点:将获取到的物体设置成主角的子物体 以实现任意移动目标物,bool控制拾取放下(限制目标物x轴z轴防止其旋转 位置不正)using UnityEngine;using System.Collections;/// <summary>/// 射线拾取物体/// </summary>public class RayCarry : MonoBehaviour{ private Ray ray; private RaycastHit hit;

2020-05-12 20:34:29 1367 2

原创 Unity学习笔记:枪口瞄准物体屏幕投放准星

知识点:射线确定位置及目标 屏幕坐标与世界坐标相转换控制屏幕准星位置及显隐摄像机位置投放射线 准心效果↓using UnityEngine;using System.Collections;/// <summary>/// 摄像机位置投放射线 准心效果/// </summary>public class RayUI : MonoBehaviour{ public RectTransform UI;//准星 private RaycastHit

2020-05-12 20:18:02 4321 1

原创 Unity学习笔记:应用自动寻路功能实现鼠标控制主角寻路

知识点:自动寻路 鼠标射线using UnityEngine;using System.Collections;public class RayTest : MonoBehaviour{ private Ray ray; private RaycastHit hit;//射线碰到的碰撞信息 private NavMeshAgent agent; private void Start() { agent = this.GetComponent&lt

2020-05-12 10:21:31 426

原创 Unity学习笔记:自动寻路功能

实现寻路步骤: 1.将场景中不动的物体勾选static(地面及障碍物),到window中调出Navigation视窗,点击Bake,形成寻路(蓝色)网格。2.需要自动寻路的物体,添加自动寻路组件。Mesh Link 搭桥功能,没有网格的两点连接。Nav Mesh Obstasle 为障碍物添加碰撞。3.添加脚本NavMeshAgent属性 Radius 寻路的碰撞半径 Height寻路的碰撞高度 BaseOffset 寻路碰撞的位置...

2020-05-11 22:41:34 1134

原创 Unity学习笔记:读取配置文件

using UnityEngine;using System.Collections;using System.Collections.Generic;using System.IO;/// <summary>/// /// </summary>public class ConfigTest : MonoBehaviour{ private Dictionary<string, Dictionary<string, string>>.

2020-05-11 21:06:44 454 2

空空如也

空空如也

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

TA关注的人

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