我们有一个继承自MonoBehaviour的类是用来做对象交互动作的,想做成单例的,写成通用的方法报错。
private static Communication instance;
public static Communication GetInstance()
{
if(instance==null){
instance=new Communication();
}
return instance;
}
提示:You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
网上找到了解决方案,系统会自动创建MonoBehaviour 对象,在其awake时候设置其instane即可。
正确代码如下:
private static Communication instance;
public static Communication GetInstance()
{
return instance;
}
void Awake() {
instance = this;
}
分享到:
相关推荐
单例模式是设计模式中最为常见的,不多解释了。但应该尽量避免使用,一般全局管理类才使用单例。 普通泛型单例: public abstract class Singleton<T> where T : class, new() { private static T instance = null...
Unity单例模式模板类,以供学习,有两个: 一个单纯的Singleton 一个MonoSingleton,继承于MonoBehaviour
升级版单例方法 B --- 继承于MonoBehaviour 单例方法 C --- 不继承于MonoBehaviour 最终版D --- 继承于MonoBehaviour(不随着场景切换而销毁) 最终版E --- 不继承于MonoBehaviour(随着场景切换而销毁)
yaSingleton 还有另一个Singleton库,它是一部分。 它提供基于ScriptableObjects的Singleton,而不是更常用的MonoBehaviours。 示例Unity项目可在找到。 为什么 ... 所有单例共享一组事件(Update,
Hira工具 什么? 一堆工具可能会大大减少您...HiraCoroutines是一个虚拟的MonoBehaviour单例,可在需要时创建,然后用于运行或可能需要的任何协程。 除非您正在寻找可创建自身并以最少的运行时检查以安全的方式维护
MonoBehaviour类的使用
继承层次:Object->Component->Behaviour->MonoBehaviour MonoBehaviour是所有脚本的基类,使用javascript的话,每个脚本都会自动继承自MonoBehaviour,但使用C#或Boo就必须显式从MonoBehaviour继承。 注意:复选框...
2.Awake()当脚本被加载后立即调用Awake方法,这个方法通常在Start()开始之前声明某些变量或者游戏的状态标记符 6.OnGUI()OnGUI()在
方法检查器MonoBehaviour派生类的方法抽屉属性 通过轻松覆盖“ MethodParameterDrawer”来创建自定义参数抽屉
1.Start()、2.Awake()、3.Update()、4.FixedUpdate()、5.LateUpdate()、6.OnGUI()、7.DontDestroyOnLoad(),7个方法解析
用于在自定义ScriptableObject和MonoBehaviour类中添加有序词典的库,只要键和值类型是可序列化的,就可以由Unity进行序列化。 $ yarn add rotorz/unity3d-ordered-dictionary 该软件包与工具兼容。 有关将程序...
需要了解unity3d scripts脚本的来看看
重载虚函数:Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start
敬畏团结AwesomiumUnity是旨在与Unity3D一起使用的第三方Awesomium包装器。... 您的应用程序可能包括: 互联网的全互动直播浏览,游戏。... 快速的迭代时间和结果。... 在Unity编辑器中完全可用。 不要把自己局限于一个独立的...
什么是ECS? 首先什么是ECS? ECS是一种新的架构模式(只是在...ECS旨在比GameObject / MonoBehaviour更容易处理大量物体。 ECS的特点是,由于面向数据的设计 , 很容易并行高速处理,和 C# Job System 一起工作。
Monobehaviour Unity3d
可编写脚本的对象演示我在2016年Unite演讲中的演示项目,“在人们光荣的ScriptableObject革命中推翻MonoBehaviour暴政”。 统一欧洲版: : 统一洛杉矶版本: : 6vmRwLYWNRo t 此仓库中的大部分内容来自 。
Unity3D中基类MonoBehaviours的总结和整理
NULL 博文链接:https://wenshuang.iteye.com/blog/2180680