当前位置: 首页 > news >正文

Unity框架学习--4 Mono管理器

作用:使不继承MonoBehaviour的类能够开启协程,并且可以使用FixedUpdate、Update、LateUpdate进行每帧更新。

原理:
1、在场景中创建一个继承MonoBehaviour的“执行者”脚本,这个脚本就专门用来开启协程和监听帧更新。
2、Mono管理器访问这个“执行者”脚本,就可以实现所需的效果。

创建一个空物体,挂载一个继承自MonoBehaviour 的脚本(没有任何方法也可以)

没有继承的那个脚本代码这样写:

public void Show(){GameObject go = GameObject.Find("MonoController");go.AddComponent<MonoController>().StartCoroutine(MyCoroutine());}IEnumerator MyCoroutine(){while (true){Debug.Log("协程执行中");yield return null;}}

就可以调用了

Mono管理器开启协程

public class MonoController : MonoBehaviour
{}

MonoManager 管理类,自动创建场景物体并挂载继承有Mono的脚本

继承SingletonPatternBase 作为一个 单例存在

public class MonoManager : SingletonPatternBase<MonoManager>
{private MonoManager() { }private MonoController monoController;public MonoController MonoController{get{if (monoController == null){GameObject go = new GameObject(typeof(MonoController).Name);monoController = go.AddComponent<MonoController>();}return monoController;}}//一个专门让外部用来开启协程的方法public Coroutine StartCoroutine(IEnumerator routine){return MonoController.StartCoroutine(routine);}

Mono管理器停止协程

//停止协程的方法public void StopCoroutine(IEnumerator routine){MonoController.StopCoroutine(routine);}//停止协程的方法 重载public void StopCoroutine(Coroutine coroutine){MonoController.StopCoroutine(coroutine);}//停止所有协程的方法public void StopAllCoroutine(){MonoController.StopAllCoroutines();}

在具体的脚本里直接MonoManager.Instance.xxx方法就可以执行

http://www.lryc.cn/news/123961.html

相关文章:

  • Unity zSpace 开发
  • SQL注入是什么?如何防范?
  • Spring kafka源码分析——消息是如何消费的
  • 汽车电子的发展对国产32位MCU的影响
  • Vue 目录结构 vite 项目
  • TB/TM-商品详情原数据(APP)
  • 小米发布会:雷军成长故事与创新壮举,AI大模型技术引领未来,雷军探索之路之从创业波折到小米AI领航,成就高端化传奇!
  • 春秋云镜 CVE-2021-41947
  • 面试题-React(一):React是什么?它的主要特点是什么?
  • 算法笔试 java 输入输出练习
  • 5.内置构造函数
  • DG故障切换及DG Broker失效配置清理
  • 地毯(暴力+差分两种方法)
  • 最新智能AI系统+ChatGPT源码搭建部署详细教程+知识库+附程序源码
  • 记一次Kafka重复消费解决过程
  • 人工智能在公检系统中的应用:校对软件助推刑事侦查工作
  • OSI七层模型和TCP/IP四层模型
  • vant金额输入框
  • uni-app base64转图片
  • 【webpack】自定义loader
  • 【kubernetes】在k8s集群环境上,部署kubesphere
  • STM32 F103C8T6学习笔记4:时钟树、滴答计时器、定时器定时中断
  • 代理模式【Proxy Pattern】
  • Oracle切割字符串的方法,SQL语句完成。
  • Https、CA证书、数字签名
  • Jmeter-压测时接口按照顺序执行-临界部分控制器
  • linux 文件权限识别及其修改
  • Java:简单算法:冒泡排序、选择排序、二分查找
  • C、C++项目中 configure、makefile.am、makefile.in、makefile 之间的关系
  • 【网络】传输层——UDP | TCP(协议格式确认应答超时重传连接管理)