Unity中new对象报错You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. 怎么办

时间: 2023-06-09 12:07:18 浏览: 113
在Unity中,我们不能使用关键字“new”来创建MonoBehaviour对象,而是应该使用gameObject.AddComponent<T>()来替代。例如: // 错误的写法 MonoBehaviour obj = new MonoBehaviour(); // 正确的写法 MonoBehaviour obj = gameObject.AddComponent<MonoBehaviour>();
相关问题

You are trying to replace or create a Prefab from the instance 'PlayerArmature' that contains the script 'StarterAssetsInputs', which does not derive from MonoBehaviour. This is not allowed. Please change the script to derive from MonoBehaviour or remove it from the GameObject. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

这个错误是由于你正在尝试将一个不继承自 MonoBehaviour 的脚本 'StarterAssetsInputs' 作为 'PlayerArmature' 实例的预制体进行替换或创建,这是不允许的。 要解决这个问题,你可以考虑以下几个步骤: 1. 确保脚本 'StarterAssetsInputs' 继承自 MonoBehaviour。在脚本的声明行添加 ': MonoBehaviour',例如:`public class StarterAssetsInputs : MonoBehaviour { }`。 2. 如果脚本 'StarterAssetsInputs' 已经继承自 MonoBehaviour,那么可能是由于其他原因导致的错误。请检查你的代码,确保没有其他地方将 'PlayerArmature' 实例与 'StarterAssetsInputs' 脚本相关联。 3. 如果你确定脚本已经继承自 MonoBehaviour,并且没有其他地方与 'PlayerArmature' 相关联,那么可能是 Unity 引擎的一个问题。尝试重新导入或更新 Unity 引擎版本,以解决可能的错误。 希望以上解决方案能帮助你解决这个错误。如果问题仍然存在,请提供更多的上下文信息,以便我能够更好地帮助你。

InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings. UnityStandardAssets.CrossPlatformInput.PlatformSpecific.StandaloneInput.GetA

pKey is causing the InvalidOperationException because you are trying to read input using the old UnityEngine.Input class, but you have switched to the new Input System package in Player Settings. To fix this issue, you need to update your code to use the new Input System API for reading input. Here's an example of how you can read input using the new Input System: ```csharp using UnityEngine; using UnityEngine.InputSystem; public class YourScript : MonoBehaviour { private PlayerControls controls; private void Awake() { controls = new PlayerControls(); } private void OnEnable() { controls.Enable(); } private void OnDisable() { controls.Disable(); } private void Update() { float inputValue = controls.YourActionMap.YourInputControl.ReadValue<float>(); // Do something with the input value } } ``` In this example, `YourActionMap` refers to the action map you have defined in the Input System settings, and `YourInputControl` refers to the specific input control you want to read. Make sure you have properly set up your Input System settings in the Unity Editor and defined the necessary action maps and input controls.

相关推荐

最新推荐

recommend-type

Unity3D中MonoBehaviour类整理

继承层次:Object-&gt;Component-&gt;Behaviour-&gt;MonoBehaviour MonoBehaviour是所有脚本的基类,使用javascript的话,每个脚本都会自动继承自MonoBehaviour,但使用C#或Boo就必须显式从MonoBehaviour继承。 注意:复选框...
recommend-type

Unity2019光影系统.pdf

Unity2019光影系统 适用于学习unity技术的开发人员 以及学习unity3d光影技术的开发人员
recommend-type

EMC UNITY存储详细配置文档 V1.0.docx

EMC Unity500 600存储官方安装配置文档,EMC Unity系列存储硬件架构,存储控制器讲解。
recommend-type

Unity3D IOS下保存和读取资源(保存到文件夹目录).docx

Unity3D IOS下保存和读取资源(保存到文件夹目录),在Unity中IOS下将资源读取和保存,保存可以保存到文件夹目录
recommend-type

Java集合Map的clear与new Map区别详解

主要介绍了Java集合Map的clear与new Map区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

机器学习怎么将excel转为csv文件

机器学习是一种利用计算机算法和统计数据的方法来训练计算机来进行自动学习的科学,无法直接将excel文件转为csv文件。但是可以使用Python编程语言来读取Excel文件内容并将其保存为CSV文件。您可以使用Pandas库来读取Excel文件,并使用to_csv()函数将其保存为CSV格式。以下是代码示例: ```python import pandas as pd # 读取 Excel 文件 excel_data = pd.read_excel('example.xlsx') # 将数据保存为 CSV 文件 excel_data.to_csv('example.csv', index=
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。