- 博客(26)
- 收藏
- 关注
原创 UGUI常用组件的分析
RectTransform1.获取UI的宽高常用方法:float width=GetComponent<RectTransform>().rect.width;float height=GetComponent<RectTransform>().rect.height;这里一定要注意,有时候获取到size Delta的值跟宽高的值一样,但是size Delta的值会随锚点的变化改变,不能用来获取UI的真实宽高。2.设置UI宽高的方法//x ,y 是要设置的值Ge
2021-03-09 15:04:18
423
2
原创 Unity中无法直接使用协程类的延时任务的封装
对于不继承MonoBehaviour类的脚本,但需要使用协程来延时的封装/// <summary>/// 对于不继承mono的类使用协程/// </summary>public class Delayed : MonoBehaviour{ public static Delayed Instance; public delegate void DelayedTaskDelegate(); void Awake() { Inst
2021-02-22 17:23:54
336
原创 观察者模式常用框架
//事件的类型public enum EventType{ //例如 ShowMainPanel, AddScore,} public delegate void Callback_Handle(object _data); private Dictionary<EventType, Callback_Handle> _EventList =new Dictionary<EventType, Callback_Handle>(); //添加普通事件观察者
2021-02-22 17:07:21
217
原创 AssetBundle打包
一:打AB包1.首先给要打包的资源设置AssetBundle名字。注意:把共享的资源打到同一个包里2.编辑器写代码进行打包。//参数1:路径 参数2:创建资源包时的选项 参数3:打包的平台BuildPipeline.BuildAssetBundles("路径", BuildAssetBundleOptions.None, BuildTarget.Android);可以借助插件(Asset Bundle Browser)进行打包二:AB包的读取1.加载单个资源(本地加载)/
2021-02-22 16:40:29
218
原创 Unity中制作图片字体
主要步骤:1.新建一个字体。2.新建一个材质。3.把上一步新建的材质赋值给第一步创建的字体。4.设置字体的Character Rects的大小来划分字体。例如划分这个图片,因其要分为12个字体所以Character Rects大小为12:Character Rects中每个单元格的计算方式如图所标记(比较的复杂,了解怎么计算就行,后期通过编辑器可以计算出来。)5.把设置好的字体直接赋值给Text中的Font,在Text中输入对应字体便可显示了。标题上述制作字体设置参数比较繁琐,
2020-12-22 17:20:53
2570
1
原创 Unity打Android包时怎么请求访问Android设备的相机,声音,位置等权限
一:首先在Unity的AndroidManifest.xml文件中添写请求的信息。二:在c#脚本中调用Permission中的方法。如下面代码示例,以调用相机权限为例。public class TestPermission : MonoBehaviour{ /// <summary> /// 按钮绑定的方法 /// </summary> public void Request() { //检查用户是否已授予对需要授权的
2020-12-22 11:28:33
1017
1
原创 Unity与Android的交互
一:Unity与Android的交互。一:首先安装Android Studio 新建一个项目。然后在新建项目的src目录下新建一个java类:例如:Test如下图所示.Test中示例代码如下:public class Test { public static String LOG="LOG"; public String name=null; public static void SetLOG(String log){ LOG=log; Log.d(LO
2020-12-21 18:15:28
452
原创 List的排序方法
List的排序方法1.对于数值类型的排序 public List<int> TestList=new List<int>(); void Start() { TestList.Add(9); TestList.Add(7); TestList.Add(2); TestList.Add(12); TestList.Add(1); TestList.Sort();//.
2020-10-16 11:32:00
641
原创 Unity Dots的入门基础
Unity Dots的入门基础一,实例化Entity的方法以下方法公用代码块 private EntityManager em; void Start() { em = World.DefaultGameObjectInjectionWorld.EntityManager; CreatEntity(); }1.使用EntityArchetype。 EntityArchetype ea = em.CreateArchetyp
2020-09-24 15:33:09
909
原创 引入css样式的方法
引入css样式的方法1.行内式(内联样式)基本语法格式:<标签名 style="属性1:属性值1;属性2:属性值2;">内容</标签名>案例:<div style="color:red;font-size:12px;">行内式的学习</div>缺点:没有实现样式和结构相分离。2.内部样式表基本语法格式:<head><style type="text/CSS"> 选择器{ 属性1:属性值1; 属性2:
2020-07-28 20:52:43
189
原创 unity在编辑状态下按照物体在Hierarchy的顺序输出
在unity中使用Selection.gameObjects选择的物体实际是无序的,他们的索引跟物体在Hierarchy的顺序不对应。例如:下面一段代码是你想实现的功能。 [MenuItem("Select/sel")] static void SelectObject() { foreach (var item in Selection.gameObjects...
2020-04-15 11:52:34
851
2
原创 常用的排序算法
冒泡,选择,插入,快速,希尔 int[] list = {7,5,6,3,9,4,1}; void Start() { //BubbleSort(); //SelectSort(); //InsertSort(); //QuickSort(0, list.Length - 1); HillSort()...
2020-04-15 11:32:51
137
1
原创 unity中动态修改物体在Hierarchy层次面板上的顺序
有些人因为项目的需求,需要动态的改变物体在Hierarchy上的顺序。特别是UI上更是经常使用。我们怎么改变物体的顺序呢?如下代码图示:/// <summary>/// 怎么动态的改变物体在Hierarchy面板上的顺序/// </summary>public class Test2 : MonoBehaviour{ //此处直接采用拖拽的方式,为了方...
2020-03-31 16:38:01
3008
原创 设计模式——中介者模式
中介者模式中介者模式主要用来降低多个对象和类之间的通信复杂度。主要提供了一个中介类,来处理不同类之间的通信。该类属于行为型模式优点:1,降低了类的复杂度,将一对多转为了一对一。2各类之间解耦。3.符合迪米特原则。缺点:中介者易变得复杂,不便于维护。关键逻辑:将所有类之间的通信封装到一个类里进行处理。何时使用:多个类相互耦合,形成网状结构的时候使用。应用例子:1,MVC模式。C(控制...
2020-03-31 15:54:08
139
原创 设计模式——桥接模式
桥接模式桥接模式是用于把抽象化与实现化解耦,使得两者可以独立变化。(属于结构型模式的一种)。这种模式主要是设计一个作为桥接的接口,使继承他的实体类能够独立于这个接口实现,不受其桥接接口的影响。优点:1.抽象和实体分离。2.扩展能力强。3.实现细节对用户透明。缺点:会增加系统的理解和设计难度。关键逻辑:抽象类依赖实体类。何时使用:系统的实现有多个角度,每个角度都有所变化。这时就需要使用...
2020-03-27 16:07:55
141
原创 设计模式——策略模式
策咯模式在策略模式中,一个类的行为或其算法可以在运行时更改。(策略模式属于行为模式的一种)。主要解决:在多种算法相似的情况下,使用if…else所带来的复杂和难以维护的情况。优点:1.算法可以自由切换。2.避免使用多重条件判断。3.扩展性好。缺点:1.策略类会增多。2.所有的策略类都需要对外暴露,安全性差。关键逻辑:让所有的策略类使用同一个接口。使用场景:1.一个系统里需要动态的在几...
2020-03-26 10:41:17
136
原创 unity中获取文件的MD5码值
例如获取桌面上的测试.txt文件的MD5码值: string path = "C://Users/16049/Desktop/测试.txt"; void Start() { string fileMd5=GetFileHash(path); Debug.Log("测试文件的MD5值:"+fileMd5); } /// &...
2020-03-19 16:08:45
1080
原创 c#中计算两个时间的时间差
这篇博客讲的主要是两个时间的插值怎么计算:例如:你想计算2018-6-25 8:30:00距离你今天的日期相差多久public class TimeLoop : MonoBehaviour{ DateTime t1 = DateTime.Now;//获取当前的系统时间 DateTime t2 = new DateTime(2018,6,25,8,30,0);//代表2018-...
2020-03-19 15:33:05
1125
原创 C#中常用的Mathf数学函数
1.Mathf.Abs(f)绝对值;Mathf.Abs(f);计算并返回指定参数 f 绝对值。2.Mathf.Clamp限制Mathf.Clamp (value, min, max) ;限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value3.Mathf.Clamp01 限制0~1Mathf.Cl...
2019-09-02 17:20:33
12040
原创 NGUI和UGUI按钮的动态绑定
NGUI的按钮绑定: //通过代理添加点击事件 EventDelegate ev = new EventDelegate(this, "OnShowInfoClick"); GetComponent<UIButton>().onClick.Add(ev); void OnShowInfoClick(...
2019-09-02 14:49:25
189
原创 unity中怎么动态改变相机渲染的层级
unity中怎么动态改变相机渲染的层级我们大多数都知道怎样手动改变相机的渲染层级,但是对于动态的改变还不是很了解。下面是一个小例子介绍怎样动态的改变渲染层级。这个例子实现的功能是点击鼠标左键,相机不对与Cube进行渲染。点击鼠标右键相机对Cube进行渲染1.首先新建一个场景,在场景中新建一个Cube。2.新建一个层级3DObject,然后修改Cube的层级为3DObject。3.然...
2019-08-27 18:53:52
2772
原创 Unity编辑器扩展(自定义窗口)《三》
Unity编辑器扩展(自定义窗口)《三》本文是接着前两篇博客的,这篇主要讲了自定义编辑器窗口13. 创建自定义的窗口首先,先了解几个常用的方法。1.创建的自定义窗口一定要继承EditorWindow。2.创建窗口的方法:GetWindow(“窗口的名字”);或者GetWindow();他有返回值,返回的是T类型的。3.窗口的显示方法:Show();4.垂直布局:GUILayout....
2019-08-21 16:00:34
1801
原创 C#中字典的排序方法
字典的排序字典为什么要进行排序有时候我们使用字典是为了方便存储,但对于字典的排序我们比较不常用,有时候迫于项目的需要我们要必须进行排序,例如我最近遇到的一个问题就是,所有我就学习了一些排序的方法分享给大家。方法一:这个是我认为比较简单的一个办法。例如我定义一个比较复杂一点的字典,要对这个字典进学校排序,根据他的value值存储的字符串的多少。 //要进行排序的字典 priva...
2019-08-09 17:01:49
7833
3
原创 unity编辑器扩展《二》
unity编辑器扩展《二》**本篇是接着上篇博客继续的,如果看不懂的宝宝们,可以去参考第一篇哦**标题编辑器常用的几种添加方式7. 给菜单栏自定义的按钮添加快捷键例子:定义了点击S的快捷方式 [MenuItem("GameObject/Select _s",false,12)] static void Selects() { Debug.Log("我是Se...
2019-08-02 16:51:50
272
原创 unity编辑器扩展《一》
unity编辑器扩展《一》文章目录编辑器的作用编辑器扩展的常用文件夹编辑器扩展的命名空间编辑器常用关键字编辑器常用的几种添加方式编辑器的作用编辑器可以为我们省好多时间有时候,当你需要大批量的重复操作做时,就可以自己写一个编辑器扩展,进行一键完成。编辑器的主要作用是方便我们更好的开发。避免大量重复的工作。编辑器扩展的常用文件夹Editor文件夹,写的编辑器类一定要放在此文件夹下。...
2019-07-31 17:04:25
717
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人