自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TS 将倒计时时间转换成 {0}:{0}:{0}

TS 将倒计时时间转换成 {0}:{0}:{0}

2023-05-06 15:59:35 163

原创 C# 删除一个文件夹下的所有空文件夹

删除一个文件夹下的所有空文件夹

2023-05-06 15:03:25 503

原创 TS 浅拷贝和深拷贝方法

TS 浅拷贝和深拷贝方法代码及其相关注释

2022-08-12 18:07:35 5430 3

原创 Unity 在编辑器菜单栏里添加清除空文件夹

在Unity编辑器菜单栏里添加清除空文件夹功能实现点击菜单栏功能清除工程里无用的空文件夹

2022-08-12 15:12:44 847

原创 C# 获取相对路径的算法

通过以下函数方法可以获得pathB相对于pathA的相对路径

2022-06-08 11:50:36 1040

原创 C# break continue return 三者区别

break:执行break操作,跳出所在的当前整个循环,到外层代码继续执行。通常,是离当前break最近的一个函数体的循环会被跳出。即一次只能结束一种循环continue:执行continue操作,跳出本次循环,从下一个迭代继续运行循环,内层循环执行完毕,外层代码继续运行。字段后面不需要跟着参数。即结束的是本次循环,并将接着开始下一次循环。return:执行return操作,直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行。在需要返回值的情况下,后需要紧跟一个返回值,用于提供给对应方法所需的

2022-06-08 11:45:31 331

原创 为什么使用 puerts 及 puerts 在项目中的使用、TS理解

首先要知道什么是puerts,puerts提供了通过TypeScript访问宿主引擎的能力(如通过ts语言可以获取到gameobject身上的组件),相比于lua脚本,typeScript的静态类型检查有助于更好地去编写代码。高效(全引擎,全平台支持反射binding,无需额外生成代码)、高性能(全引擎,全平台支持静态binding)关于puerts里的c#标签介绍:Configure:配置类,只能用于类上,且在Editor文件夹下;Binding:在 js/ts 调用的时候,可以找到该类(会生

2022-05-25 19:02:48 2369

原创 Unity 关于路径的一些相关方法的使用

关于路径的一些相关方法的使用Path.Combine比如:string tmp = Path.Combine(@“C:\11”, @“D:\aa.txt”);tmp 就等于 @“D:\aa.txt”Path.GetFullPath返回指定路径字符串的绝对路径FileInfo 文件类FileInfo[ ] fileInfoArray = dir.GetFiles(); //获取该文件下的所有文件DirectoryInfo 文件夹类DirectoryInfo[ ] dirInfoArray =

2022-04-26 18:08:11 2068

原创 Unity 判断是否为预制体的根节点

传进场景中的物体 gameObject 判断其是否为预制体 //判断是否为预制体的根节点 public bool IsPrefabRoot(GameObject obj) { if (PrefabUtility.IsAnyPrefabInstanceRoot(obj)) { return true; } if (PrefabStageUtility.GetCurrentP

2022-04-26 15:43:23 2351

原创 Unity面试题

1.UGUI注意事项1.GameObject.SetActive 尽量少使用。因为在OnEnable 和OnDisenable 都会重新设置一遍所有的脏标志2.平铺类型的操作不要用Image 要用Rawimage3. Raycast 不用就关掉,Unity 默认是开启的,但是有很多UI不需要接收点击事件4. UI合批需要注意材质是否一样,图片ID是否一样5. UI 上的的Color属性 不建议直接修改,修改会导致重绘mesh,建议修改材质球颜色不会出现这个问题2.结构体和类区别1.类是引用类

2022-02-13 03:00:31 1370

原创 Unity 3D 面试 数据结构与算法简述

数据结构与算法简述一、线性表二、栈(Stack)和队列(Queue)一、线性表定义:一个线性表是n个具有相同特性的数据元素的有限序列,除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(大部分是这样子)。线性表的实现有4种,顺序表、单链表、双向链表和循环链表。线性表的接口定义: interface IListDS<T> { int GetLength();//求长度 void Clear();//清空操作 bool isEmpty()

2022-02-11 17:58:29 3147

原创 获取范围内指定个数不重复随机数

/// <summary> /// 获取范围内指定个数不重复随机数 /// </summary> /// <param name="min"></param> /// <param name="max"></param> /// <param name="count"></param> /// <returns></returns>

2022-02-08 10:27:05 383

原创 Unity 对象池

对象池原理:存放对象的缓冲区。用户可以从缓冲区中放入/取出对象。满足游戏中经常产生/销毁大量相同游戏对象的需求(比如金币、宝箱、特效)。对象池可以避免重复性的Instantiate和Destroy,进而提高游戏性能。using System.Collections.Generic;using UnityEngine;using DG.Tweening;public class Pool : MonoBehaviour{ public static Pool Instance;

2022-01-19 18:25:02 2356

原创 Unity 贝塞尔曲线 优化画线平滑

贝塞尔曲线 优化画线平滑在代码中调用下面这个方法,传入自己所要平滑的曲线的点的List列表,BezierCheck()会计算出每2个点之间需要补充多少个贝塞尔补间的点。 private static Vector3 pos1; private static Vector3 pos2; private static Vector3 pos3; private static Vector3 new_pos1; private static Vector3 new_pos

2022-01-19 17:25:55 2089

原创 Unity 延时的三种方法

协程在代码中开启与关闭协程StartCoroutine(IName());//开始协程StartCoroutine("IName");//开始协程StopCoroutine("IName");//关闭协程协程方法 public IEnumerator IName() { yield return new WaitForSeconds(0.5f);//延时0.5秒再继续向下执行 }Invoke 方法实现延时委托机制,不接受有参数的方法,Time.Sca

2022-01-15 16:59:27 9310 1

原创 Unity 相机自适应不同分辨率

不同分辨率适配下列 750 1334 是我屏幕的分辨率,可以将数值更换成自己的。直接挂在主摄像机上。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;//近大远小的摄像机public class ShiPei : MonoBehaviour{ void Awake() { float targetHight = 1334f; if (75

2022-01-15 11:45:36 1636

原创 Unity 3D射线检测指定层级

3d射线 返回屏幕射到的hit 只检测我们指定的渲染层级1 << 12 打开第10的层。 等同于1 << LayerMask.NameToLayer(“Name”); 也等同于 LayerMask.GetMask((“Name”); #region 3d射线 返回屏幕射到的hit 只检测我们指定的渲染层级 public static RaycastHit RayHit() { Ray ray = Camera.main.ScreenPoint

2022-01-15 11:02:17 2728

原创 Unity 2D和3D射线检测

2D射线检测 //Canvas事件点击检测,返回光线投射结果 public List<RaycastResult> click2DItem() { PointerEventData pointerEventData = new PointerEventData(EventSystem.current); pointerEventData.position = Input.mousePosition; GraphicRayca

2021-12-24 16:52:09 2243

原创 Unity 计算两点距离的两种写法

写法一 public float GetDistance(Vector3 startPoint, Vector3 endPoint) { float distance = (startPoint - endPoint).magnitude; return distance; }写法二 public double GetDistance(Vector3 startPoint, Vector3 endPoint) { d

2021-12-24 16:24:42 2822 2

原创 C# 找到一个列表里指定的对象

内容:找到picsList列表中包含成员id_pic值等于1的对象o。

2021-12-20 10:36:05 500

原创 Unity打包到安卓平台找不到json文件路径

读取json文件的路径修改前:原读取json的代码,运行unity时,可以正常获取到json信息,但是build到安卓平台的时候,无法读取到json文件。 string s = File.ReadAllText(Application.dataPath + ("/config/config.merge.json"));原因:在编译到安卓平台上时,会将资源压缩成一个压缩包,这种时候就不能使用Application通过路径读取json文件。修改后:首先将json文件移动到StreamingAsset

2021-12-07 18:22:24 6065

原创 堆排序算法

堆排序算法基本思路

2021-10-18 17:07:20 92

原创 插入排序算法

插入排序算法基本思路和代码实现

2021-10-18 15:28:11 142

原创 选择排序算法

选择排序算法基本思路和代码实现

2021-10-18 13:37:54 98

原创 冒泡排序算法

冒泡排序算法基本思想与代码实现

2021-10-18 12:40:36 102

原创 Unity3D初级工程师面试题及知识点

Unity3D初级工程面试题目整合C#基础部分一、修饰符二、委托、事件和回调函数三、接口跟抽象类的区别是什么?什么时候使用接口?什么时候使用抽象类?四、值类型跟引用类型的区别?五、游戏优化,如何优化减少GC?六、三元运算符七、面向对象编程的六大原则?八、struct 里面如果包含一个类的对象,该对象是存在堆区还是栈区?九、委托和接口的区别与应用?十、对于多态的理解?十一、list和array的区别?十二、List和ArrayList的区别?十三、如何在C#中使用LitJson对Json数据解析?十四、面向对

2021-10-17 18:19:53 5885 1

原创 C#实现快速排序(通俗易懂)

C#快速排序原理以及输入指定的数组利用快速排序进行排序的过程

2021-09-18 02:42:28 2862

原创 Git与Unity的工作环境搭建

关于Git的工作环境的配置

2021-09-16 23:19:26 1374

空空如也

空空如也

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

TA关注的人

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