C# 从Unity中的脚本关闭脚本
我需要关闭Unity中另一个脚本的脚本。脚本是用C编写的,我要关闭的脚本是用JS编写的。两个脚本都附加到同一个对象。我收到的错误是没有启用这样的东西。有什么想法吗?下面是我代码的一部分C# 从Unity中的脚本关闭脚本,c#,unity3d,unityscript,gameobject,unity-components,C#,Unity3d,Unityscript,Gameobject,Unity Components,我需要关闭Unity中另一个脚本的脚本。脚本是用C编写的,我要关闭的脚本是用JS编写的。两个脚本都附加到同一个对象。我收到的错误是没有启用这样的东西。有什么想法吗?下面是我代码的一部分 void Update () { var walkScript = GameObject.FindWithTag ("Player").GetComponent ("CharacterMotor"); if ((Input.GetKey ("p")) && (stoppedM
void Update ()
{
var walkScript = GameObject.FindWithTag ("Player").GetComponent ("CharacterMotor");
if ((Input.GetKey ("p")) && (stoppedMovement == true)) {
stoppedMovement = false;
walkScript.enabled = true;
} else if ((Input.GetKey ("p")) && (stoppedMovement == false)) {
stoppedMovement = true;
walkScript.enabled = false;
}
我收到的错误如下:
Assets/Standard Assets/Character Controller/Sources/Scripts/MouseLook.cs41,36:错误CS1061:类型UnityEngine.Component“未包含已启用的定义”和类型UnityEngine.Component的“未启用扩展方法”。可以找到“Component”是否缺少using指令或程序集引用
类组件没有属性enable。试一试
Behaviour walkScript = (Behaviour)GameObject.FindWithTag ("Player").GetComponent ("CharacterMotor");
假设这是一种行为 类组件没有属性enable。试一试
Behaviour walkScript = (Behaviour)GameObject.FindWithTag ("Player").GetComponent ("CharacterMotor");
假设这是一种行为 仍在获取错误:Assets/Standard Assets/Character Controllers/Sources/Scripts/MouseLook.cs38,17:错误CS0246:找不到类型或命名空间名称“Behavior”。您是否缺少using指令或程序集引用?这很奇怪。尝试使用UnityEngine.Behavior。但它和GameObject在同一个名称空间中,它似乎找到了那个名称空间?可能错误消息是错误的,并且还有其他错误。如果游戏对象可用,行为也应该可用。您包括使用UnityEngine的他们的展位;现在我看到了:Assets/Standard Assets/Character Controllers/Sources/Scripts/MouseLook.cs38,39:错误CS0266:无法隐式地将类型UnityEngine.Component“转换为UnityEngine.behavior”。存在显式转换是否缺少强制转换?如何将组件转换为Unity中的行为?这只是基本的面向对象编程。Component walkScript=GameObject.FindWithTag Player.GetComponent CharacterMotor//返回一个组件,但组件无法激活//可以激活一个行为,并且行为继承自组件,因此您可以使用以下命令将组件强制转换为行为:behavior bh=behavior walkscript;仍在获取错误:Assets/Standard Assets/Character Controllers/Sources/Scripts/MouseLook.cs38,17:错误CS0246:找不到类型或命名空间名称“Behavior”。您是否缺少using指令或程序集引用?这很奇怪。尝试使用UnityEngine.Behavior。但它和GameObject在同一个名称空间中,它似乎找到了那个名称空间?可能错误消息是错误的,并且还有其他错误。如果游戏对象可用,行为也应该可用。您包括使用UnityEngine的他们的展位;现在我看到了:Assets/Standard Assets/Character Controllers/Sources/Scripts/MouseLook.cs38,39:错误CS0266:无法隐式地将类型UnityEngine.Component“转换为UnityEngine.behavior”。存在显式转换是否缺少强制转换?如何将组件转换为Unity中的行为?这只是基本的面向对象编程。Component walkScript=GameObject.FindWithTag Player.GetComponent CharacterMotor//返回一个组件,但组件无法激活//可以激活一个行为,并且行为继承自组件,因此您可以使用以下命令将组件强制转换为行为:behavior bh=behavior walkscript;