Unity基础小框架
文章平均质量分 70
程序框架:以设计模式为基础进行框架设计,提高项目开发效率。
天富儿
这个作者很懒,什么都没留下…
展开
-
Unity中的截图方法(包括全屏截图、区域截图、Camera截图和摄像头截图)
Unity中的截图方法Application.CaptureScreenshotScreenCaptureTexture2D.ReadPixels视口截图RenderTexture(Camera截图)WebCamTexture(摄像头截图、照相)参考链接之前项目中需要用到截图功能,经过查找找到3种方式,这里做一个记录。Application.CaptureScreenshotApplication类下的CaptureScreenshot方法,截取的是某一帧时整个游戏的画面,或者说是全屏截图吧。以下是原创 2020-11-14 20:09:25 · 24165 阅读 · 6 评论 -
Unity3d中GridLayoutGroup组件的自适应宽高
Unity3d中GridLayoutGroup组件的自适应宽高Unity中常用的布局自动排列组件:GridLayoutGroup、VerticalLayoutGroup和HorizontalLayoutGroup。其中后面两个有比较好的自适应能力,而GridLayoutGroup,则没有,需要我们自己变相相关代码:高:/// <summary>/// 设置父节点的高度/// </summary>/// <param name="num">每行Cell的个数原创 2020-09-14 10:46:44 · 5970 阅读 · 3 评论 -
设计模式之单例模式(Singleton Pattern)简记
设计模式之单例模式(Singleton Pattern)简记创建原则使用位置懒汉模式 vs 饿汉模式示例反射与泛型内部类单例模式懒汉线程并不安全参考链接创建原则保证一个类只有一个实例,并提供全局访问点。使用位置要求生产唯一序列号。WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。懒汉模式 vs 饿汉模式懒汉模式:很懒。在调用的时候才会创建单例。(延迟加载)饿汉模式:很饿。在系统加载的时候就会创建单例原创 2020-08-19 00:26:04 · 315 阅读 · 0 评论 -
Unity的MonoBehaviour单例设置
Unity的MonoBehaviour单例设置MonoBehaviour的基本单例模式MonoBehaviour单例的泛型基类MonoBehaviour单例脚本的问题解决方案互斥锁Mutex使用Editor.OnEnable()监测想法实现参考链接MonoBehaviour的基本单例模式根据Unity的MonoBehaviour脚本创建单例模式,我们一般的创建方式是:using UnityEngine;public class MonoSingleton : MonoBehaviour{原创 2020-08-19 00:26:42 · 2509 阅读 · 0 评论 -
Unity移动端自动翻转及横竖屏的设置与检测
Unity移动端自动翻转及横竖屏的设置与检测Unity手动设置代码设置与检测Screen.orientationInput.deviceOrientationUnity手动设置手动设置程序方向File- - ->Build Settings- - ->PlayerSettings- - ->Resolution and Presentation- - ->Orientation。如下图所示。所能设置的值有:Portrait:设备在纵向模式,设备直立并home按钮在底部。原创 2020-08-06 23:23:55 · 10229 阅读 · 2 评论 -
Unity代码调用网络摄像头WebCamTexture
编辑器模式或Android环境和实机测试都没有问题。using System.Collections;using UnityEngine;using UnityEngine.UI;public class UITest : MonoBehaviour{ /// <summary> /// 图片组件 /// </summary> public RawImage rawImage; /// <summary> ///原创 2020-07-17 12:27:56 · 2850 阅读 · 1 评论 -
Unity的Inspector面板显示自建类和事件
Unity的Inspector面板显示自建类和事件代码效果代码话不多说,直接上代码。using UnityEngine;using UnityEngine.Events;public class Demo : MonoBehaviour{ public A m_a; public B m_b;}[System.Serializable]public class A : UnityEvent<float>{ public string m_str;原创 2020-05-10 15:54:32 · 1932 阅读 · 0 评论 -
Unity获取鼠标滚轮信息
Unity获取鼠标滚轮信息UGUI获取滚轮信息Input获取滚轮信息UGUI获取滚轮信息UGUI关于鼠标滚轮信息的获取有一个专门的接口IScrollHandler用于接收滚轮事件。继承该事件之后便需要实现函数OnScroll。如下:public virtual void OnScroll(PointerEventData eventData){ }该函数接收的参数Point...原创 2020-03-04 09:35:58 · 17976 阅读 · 1 评论 -
Unity Editor扩展:ScriptableObject简记
Unity Editor扩展:ScriptableObjectScriptableObject简介示例创建ScriptableObject创建类实例化保存为Asset使用脚本读取ScriptableObjectInspector上的属性显示显示一般属性ScriptableObject类作为ScriptableObject类的属性显示ScriptableObject在Inspector面板中的使用参...原创 2020-01-18 17:35:57 · 6596 阅读 · 1 评论 -
Unity内自建可以拖拽的UGUI
Unity内拖拽的UGUI介绍功能代码介绍这是我项目中因为需求,而根据Unity自带的接口(interface)创建的一个UI。我有个文章专门记录了一些UGUI的接口及其用法和触发条件。该文算是那篇文章的一个实例。附上链接:https://blog.csdn.net/f_957995490/article/details/103928846功能该UI同时具有点击功能和拖拽功能。项目要求点...原创 2020-01-10 18:33:45 · 537 阅读 · 2 评论 -
UGUI接口的实现和触发条件简记
Unity中UGUI接口的实现和触发条件UnityEngine.EventSystems介绍Pointer鼠标指针点击接口Drag拖拽接口选择组事件滚轮滚动InputManager关联组事件(同选择组要求)代码UnityEngine.UIIMaterialModifierICanvasRaycastFilterICanvasElementIClippableIClipperILayoutContr...原创 2020-01-10 18:08:19 · 1140 阅读 · 1 评论 -
单纯因为方便使用的单例父类
单纯因为方便使用的单例父类单例父类特别注意代码片目的使用范例隐患单例父类此例单纯为本人,为编写方便而做。特别注意作为单例,这种做法本质上存在安全隐患,注意使用方式。代码片public class BaseManager<T> where T : BaseManager<T>, new() { protected BaseManager()...原创 2019-12-26 18:01:02 · 632 阅读 · 1 评论 -
Unity 单例的父类模板
C#单例父类转载正文如何设计这个单例的模板?总结转载终于找到了之前关于单例父类的一个问题解决方法,是使用反射解决。这里转载分享一下:Unity 游戏框架搭建 (二) 单例的模板正文如何设计这个单例的模板?先分析下需求,当设计一个manager时候,我们希望整个程序只有一个该manager对象实例,一般马上能想到的实现是这样的:public class XXXManager { ...转载 2019-12-26 17:47:17 · 861 阅读 · 1 评论 -
C#状态机简记
状态机简介基础状态抽象类状态机父类示例本人的状态机使用代码简记。简介只是简单地状态转换。基础状态抽象类using UnityEngine;/// <summary>/// 基础状态机抽象类/// </summary>/// <typeparam name="T">其状态衍生类的状态类型枚举</typeparam>public a...原创 2019-12-22 19:34:52 · 707 阅读 · 1 评论 -
Unity的更新管理者(本人程序简记)
UpdateManager简介简介由于本人在使用Unity时,不喜欢在场景中使用很多的MonoBehaviour类,因为场景中的MONO类过多,而Unity本质是单线程程序,所以无法控制众多MonoBehaviour类的先后运行顺序,这样会对程序带来很多的可变性。我一般只会在场景中挂一个主要的MonoBehaviour类,其他逻辑都是由该类展开的,这样便可以解决,程序控制性差的问题,但同时只有...原创 2019-12-22 19:17:14 · 605 阅读 · 2 评论 -
基于Unity的事件管理者
事件管理者事件管理者使用个人使用的事件管理者,用于项目中的事件分发,以增加代码的灵活性。事件由于本人习惯,本着“多一事不如少一事“”的原则,使用的是程序库中自带的事件EventHandler:using System.Runtime.InteropServices;namespace System{ [ComVisible(true)] public delegate...原创 2019-12-22 17:04:45 · 1036 阅读 · 1 评论 -
设计模式简介之桥接模式(Bridge Pattern)
设计模式之桥接模式(Bridge Pattern)WhatWhy优点缺点WhereHowWhat将抽象部分与它的实现部分分离,使它们都可以独立地变化。Why优点抽象和实现的分离。优秀的扩展能力。实现细节对客户透明。缺点增加了系统的理解和设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计和编程。要求正确识别出系统中两个独立变化的维度,因此其使用范围有一定的局限性。Where一个类存在两个独立变化的维度,且这两个维度都需要进行扩展;对于那些不希望使用继承或因为原创 2020-07-14 19:58:58 · 404 阅读 · 0 评论