随笔分类 - Unity-技术小白的进阶之路
摘要:进程 进程是计算机中的程序关于某数据集合上的一次运动活动,是系统进行资源分配和调度的基本单元,是操作系统结构的基础。 // 打开指定程序 Process p = Process.Start(@"C:\Program Files\Google\Chrome\Application\chrome.exe
阅读全文
摘要:一个文件是一个存储在磁盘中带有指定名称和目录的数据集合,当打开文件进行读写时,它变成了一个流。 从根本上说,流是通过通信路径传递的字节序列,有两个主要的流,输入流和输出流。输入流用于从文件读取数据,输出流用于向文件写入数据。 Directory.CreateDirectory(@"D:\函数创建的文
阅读全文
摘要:字符串-引用类型 可以理解为一个存储字符的数组 关于字符串的常用方法 static void Main(string[] args) { string str = "Hello World"; // 字符串长度 Console.WriteLine(str.Length); // 批量访问每一个字符
阅读全文
摘要:委托 delegate关键词 event关键字,添加后将委托封装成事件。 事件和委托区别:事件相对于委托来说更加安全。 四种类型委托 // 自定义无参无返回值 public delegate void ActionX(); // 自定义有参无返回值 public delegate void Acti
阅读全文
摘要:解决拆装箱问题,使逻辑更加的严谨。 此前使用到的地方:游戏物体查找添加对象。 泛型类 我们可以定义一个类中出现的类型,类型事先不需要写死我们使用T来表示,这使得类的扩展性大大增加,可以应用于更多的场合。 class Program { static void Main(string[] args)
阅读全文
摘要:泛型数组 using System.Collections.Generic; 为了解决动态数组的拆装箱问题,故引入泛型数组。 // 创建一个int类型的泛型数组 List<int> list = new List<int>(); // 数据添加 list.Add(1); list.Add(2); l
阅读全文
摘要:结构体 结构体为值类型和类的用法很像 结构体中也可以存成员变量和以及成员方法 结构体不需要构造方法,因为是值类型存储咋栈中 不使用New也是可以使用 自定义结构体本身可以继承接口不能继承类,也不能被继承 只是存储数据建议使用结构体,有复杂逻辑建议使用类。 struct关键词 using System
阅读全文
摘要:interface关键词 using System; namespace Test { class Program { static void Main(string[] args) { // 只能调用鸟类的功能 Bird a1 = new WildGoose(); // 可以调用鸟的功能,也可以调
阅读全文
摘要:多态 静态多态性,重载 ==重载:同一个方法中有多个相同名称的方法,但参数不一样。== 在编译阶段(程序未运行的时候),函数之间就产生了一对一的关系。 减少函数的命名,多个相同的函数可以使用相同的命名。 Mathf f = new Mathf(); f.Add(10001); class Mathf
阅读全文
摘要:using UnityEngine; using UnityEngine.SceneManagement; public class ScenesJumpMgr : MonoBehaviour { void Start() { // 场景跳转不删除当前游戏物体 DontDestroyOnLoad(g
阅读全文
摘要:Image Simple 常用简单模式 Sliced 九宫格模式 Tiled 瓦片模式 Filled 填充模式 Sliced 九宫格模式 选中图片。 点击Sprite Editor打开精灵体编辑器(版本高的需要先到Window → Package Manager下载2D Sprite组件)。 将其拖
阅读全文
摘要:Window → Animation打开动画刻录列表,或者是快捷键Ctrl+6。 点击要刻录动画的游戏物体。 点击动画刻录面板中的Create,选择要保存的名称和保存的路径。 点击动画刻录面板左上角的红点(开始刻录)。 调整关键帧改变游戏物体状态(位置)。 ==可以通过更改动画播放速度为-1实现动画
阅读全文
摘要:烘焙地图 选中场景中要烘焙的游戏物体。将详情面板中的Static更改为Navigation Static。 选择Window → Navigation。 点击新打开的Navigation → Bake → 调整具体参数 → 点击最下方的Bake进行烘焙。 以上功能便是将能够寻路的地图烘焙好了 创建一
阅读全文
摘要:鉴于transform.Translate能够移动且不受前方游戏物体影响,能够直接穿过去,Rigibody移动的时候又会受到外界力的影响(虽然可以通过改变其上面的参数来限制),这个时候就用到了Character Controller,Character Controller同时拥有刚体的重力效果同时
阅读全文
摘要:射线的组成 发射点:世界坐标 发射的方向:一个向量 常用于处理碰撞业务,检测前方是否有东西。 射线碰撞检测前提:游戏物体必须有碰撞或触发器,可以没有刚体。 射线在和游戏物体发生碰撞后就会销毁,在当前帧过完后也是会自动销毁。 private void Update() { // 生成一条射线 Ray
阅读全文
摘要:Rigibody 刚体 刚体的属性 Mass质量,建议不要让对象之间的质量差达到100倍以上 Drag空气阻力,为零表示没有阻力infinity表示立即停止移动 Angular Drag扭力阻力, Use Gravity是否受重力影响 Is Kinematic是否为Kinematic刚体,如果启用该
阅读全文
摘要:public GameObject Hero; public GameObject Monster; private float length = 10; private float angle = 120; void isLookHero() { // 求二者间的距离 var heroToMons
阅读全文
摘要:每帧时间 // 渲染帧时间 Time.deltaTime; // 物理帧时间 Time.fixedDeltaTime; Time.deltaTime的时间间隔是不固定的,会因设备的性能而有一定的波动,在性能比较差的设备上有时一秒钟只有十几帧,这个时候Time.deltaTime的时间间隔会随着每帧时
阅读全文
摘要:随机数 Random.Range(0,100); ==若随机数最小值和最大值都是整数的话,随机出来的数字也是整数,若两者有一方是小数,则随机出来的就是小数 注:随机数包含最小范围,不包含最大范围== 乒乓 第一个参数为时间第二个参数为位置 Mathf.PingPong(Time.time,3); t
阅读全文
摘要:Rotation // 要朝向的目标 private GameObject objA; private void alterAngle (){ // 通过四元数将当前位置到目标位置的向量转换成角度并赋予当前物体的旋转角度 transform.rotation = Quaternion.LookRot
阅读全文