Unity项目使用中包装一些常用的方法
2016-12-10 10:34
399 查看
往往在项目过程中,会频繁的使用一些方法,有的人会自己封装一个工具类做这类便捷处理,然而有的人就傻傻地写一遍又一遍(比如当初的我)。。。
现在就以协程为例:(有的人往往不喜欢用协程,但本文不讨论)
1、开了一个协程后,为避免意想不到的问题,往往用一个字段持有它,在相应的地方去结束这个协程;
2、一个俩个协程还好,如果你的一套东西,比如AI,协程用的太频繁的话,我想你需要一个好方法了
此处我介绍的其实么有太精妙,就是一个简简单单的实现方法:使用一个全局管理类Global,上代码:
这是一个简单到发指的类,说白了就是把它挂载在一个永不销毁的对象上,你任何地方都能狗调用Global里面的BeginCoroutine和EndCoroutine,来开关一个协程。
其他的东西也类似,思想就是用一个全局的东西管理经常需要使用的方法对象,出来协程还有很多,此处只是粗线地举个例子。
现在就以协程为例:(有的人往往不喜欢用协程,但本文不讨论)
1、开了一个协程后,为避免意想不到的问题,往往用一个字段持有它,在相应的地方去结束这个协程;
2、一个俩个协程还好,如果你的一套东西,比如AI,协程用的太频繁的话,我想你需要一个好方法了
此处我介绍的其实么有太精妙,就是一个简简单单的实现方法:使用一个全局管理类Global,上代码:
public class Global : MonoBehaviour { private static Global ms_Instance = null; public static Global Instance() { return ms_Instance; } void Awake() { if (ms_Instance != null) return; ms_Instance = this; } /// <summary> /// 加一个Init方法,使得它的初始化不一定要依赖于引擎激活Global对象。如果Global模块由上层模块 /// 去激活,而不是直接在Unity3D的场景中预编辑好Global game object的话,这函数则由上层模块显式 /// 地用代码去调用,激活并生成Global game object /// </summary> public static void Init() { if (null == ms_Instance) { GameObject go = GameObject.Find("Global"); if (go == null) { go = new GameObject("Global"); go.AddComponent<Global>(); } } } /// <summary> /// 包装Monobehaviour的StartCoroutine方法,使得其他非Monobehaviour模块也能 /// 使用coroutine /// </summary> /// <param name="method">返回生成的携程对象</param> /// <returns></returns> public static Coroutine BeginCoroutine(IEnumerator method) { return ms_Instance.StartCoroutine(method); } /// <summary> /// 包装Monibehaviour的StopCoroutine方法,使得其他非Monobehaviour模块也能 /// 使用coroutine /// </summary> /// <param name="coroutine">待结束的协程对象</param> public static void EndCoroutine(Coroutine coroutine) { ms_Instance.StopCoroutine(coroutine); }
这是一个简单到发指的类,说白了就是把它挂载在一个永不销毁的对象上,你任何地方都能狗调用Global里面的BeginCoroutine和EndCoroutine,来开关一个协程。
其他的东西也类似,思想就是用一个全局的东西管理经常需要使用的方法对象,出来协程还有很多,此处只是粗线地举个例子。
相关文章推荐
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- jquery必须知道的一些常用特效方法及使用示例(整理)
- jQuery一些常用特效方法使用实例
- Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- jquery必须知道的一些常用特效方法及使用示例(整理)
- Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)
- IntelliJ IDEA 开发web项目的一些设置及使用方法
- 使用dom4j来处理xml的一些常用方法
- anrdroid+unity游戏开发之c#一些常用“方法”
- 想要了解一些常用的脚本引擎优缺点,便于在后续的项目中使用
- JAVA EE项目常用知识 之 整合了spring 项目中使用log4j的一种方法
- 平时在做ASP.NET项目里经常使用的一些函数和方法
- jquery项目中一些比较常用的简单方法
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解
- 使用dom4j来处理xml的一些常用方法
- VB的一些项目中常用的通用方法-一般用于验证类