Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Unity中的脚本关闭脚本_C#_Unity3d_Unityscript_Gameobject_Unity Components - Fatal编程技术网

C# 从Unity中的脚本关闭脚本

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

我需要关闭Unity中另一个脚本的脚本。脚本是用C编写的,我要关闭的脚本是用JS编写的。两个脚本都附加到同一个对象。我收到的错误是没有启用这样的东西。有什么想法吗?下面是我代码的一部分

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;