在学习unity开发过程中,写了一些这样的脚本,new 一个继承自MonoBehaviour的对象,这时Unity控制台打印警告:

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

您正试图使用“new”关键字创建一个单一行为。这是不允许的。只能使用addcomponent()添加MonoBehaviors。或者,脚本可以从scriptableobject继承,也可以根本不继承基类。

啥?既然是警告,我便忽略就是,运行没什么问题,可见Unity可以帮助我们自动纠正这个错误,但是不能让我无知的错,就警告了一下。

但是我是学习者,应该多思考,纠正自身的错误,故按照Unity提供的方法,去掉需要实例化的对象的继承,依旧可以运行,unity也不在提示警告。

这篇博文解释得很清楚:https://blog.csdn.net/ybhjx/article/details/61205398

在unity 中所有继承MonoBehaviour的类是不可以实例化的,unity都会自动创建实例,并且调用被重载的方法, 需要调用AddComponent方法

MyScript script = obj.AddComponent<MyScript>();   /// gameObject 

这是unity的规则,如果你继承了MonoBehaviour 请使用unity的规则来进行实例化这个类,至于想通过c# 的new 去实例化mono 的类是不被允许的。
Unity都会自动创建实例,并且调用被重载的方法,如我们经常用到的Awake, Start, Update等。而普通类,就可以用new来创建实例了。

【非常菜的笔记】MonoBehaviour的单例模式(不能使用new 实例化继承自MonoBehaviour的类)相关推荐

  1. 鸟哥的linux私房菜运维篇,鸟哥的Linux私房菜学习笔记之SAMBA

    鸟哥的Linux私房菜学习笔记之SAMBA 发布时间:2020-06-24 01:44:50 来源:51CTO 阅读:185 作者:tomshen NFS仅能让Unix/linux之间共享数据,CIF ...

  2. Linux管道命令——《鸟哥的Linux私房菜》笔记

    Linux管道命令--<鸟哥的Linux私房菜>笔记 0 前言 看完书之后,总感觉不记录下来的话,很快就会忘了,然后又需要重新到处翻书找资料,所以还是把内容记录下来,方便以后复习.本文大部 ...

  3. Unity的坑——避免用New来创建继承于MonoBehaviour脚本的对象

    直接说最重要的一句话,在Unity中,继承于MonoBehavior的对象,要避免使用new关键字来创建,而必须使用AddComponent或Instantiate函数来创建,这种对象也要尽量避免使用 ...

  4. C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化

    C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 文章目录 C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 ...

  5. java 静态代码块 多线程,Java多线程编程笔记10:单例模式

    立即加载:"饿汉模式" 立即加载就是指使用类的时候已经将对象创建完毕,常见的实现方法就是直接new实例化.也就是在调用方法前,实例就被创建了.示例代码如下所示: class MyO ...

  6. 读书笔记4:单例模式

    单例模式是指在应用程序的运行周期内,一个类始终只有一个实例,不论在何处访问都是如此. 一般单例模式有两种形式. 1.通过私有构造器实现 定义一个类构造器为private,有一个private的stat ...

  7. 设计模式学习笔记十:单例模式(Singleton Pattern)

    1.概述    单例模式(Singleton Pattern)又称单件模式,单例模式保证一个类仅有一个实例,并提供一个访问的他的全局访问点.通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你 ...

  8. 设计模式笔记三:单例模式

    原文:http://www.runoob.com/design-pattern/ 少许个人理解,如有错误请指出,欢迎讨论. 简单定义: 单例模式(Singleton Pattern)是 Java 中最 ...

  9. Linux私房菜阅读笔记

    在线man:http://www.linux.com/linux-man-pages 计算机硬件五大单元: 1.输入 2.输出 3.控制单元 4.算数逻辑单元 5.内存 CPU种类 1.RISC(Re ...

最新文章

  1. bingmaps rest 中文化服务
  2. 技术实践 | 网易云信 QUIC 加速服务架构与实践
  3. 用java的stream流库在实际项目的使用案例
  4. 深入理解计算机系统 视频教程,深入理解计算机系统1
  5. C语言逻辑运算符 - C语言零基础入门教程
  6. 迁移到 Centos 7 遇到的一些常见问题
  7. 写给嵌入式方向的某些同学 - 基于WINCE系统的程序开发[不完整版]
  8. rsync的作为版本库的用法(自带时间后缀)
  9. LintCode 最长公共子串
  10. 希尔伯特变换的本质是什么?
  11. 【Win10自带录屏工具】
  12. Chrome 浏览器小恐龙游戏变身超级马利奥
  13. Excel自动调整行高/行高适应文字内容
  14. linux 编译libvlc,libvlc源码编译
  15. Matlab获取线粒体序列及核苷酸初步分析
  16. 均匀分布、正态分布、二项分布、泊松分布、指数分布
  17. 绘制一张透明背景的单色位图
  18. 营销-营销方式:营销方式
  19. Docker三剑客——Docker Compose
  20. MS7024 TV Encode digital数字信号转AV/SV配置说明

热门文章

  1. wps两列数据分别作为xy轴_面对三维数据很慌张?气泡图了解一下
  2. 完整的连接器设计手册_干货 I 关于PCB设计倒角需要了解的一切
  3. 制定进度计划-规划范围管理
  4. 前端程序员常用构建工具
  5. 前端React项目的Next.js项目通过CSS引入自定义字体文件
  6. 聊聊Harmony OS
  7. 2017JAVA面试题附答案
  8. fatal error C1083: 无法打开包括文件:“d3dx9.h”
  9. 数字孪生城市项目的关键技术展望
  10. 2023江西理工大学计算机考研信息汇总