Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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/9/csharp-4.0/2.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 engine过时的教程,无法让我的脚本完成预期的任务 使用UnityEngine; 公共类玩家冲突:单行为 { 公众游戏运动; 私有void onCollisionCenter(UnityEngine.Collision-collisionInfo) { if(collisionInfo.gameObject.tag==“障碍物”) { GetComponent().enabled=false; } } }_C#_Unity3d - Fatal编程技术网

C# 我遵循的是unity engine过时的教程,无法让我的脚本完成预期的任务 使用UnityEngine; 公共类玩家冲突:单行为 { 公众游戏运动; 私有void onCollisionCenter(UnityEngine.Collision-collisionInfo) { if(collisionInfo.gameObject.tag==“障碍物”) { GetComponent().enabled=false; } } }

C# 我遵循的是unity engine过时的教程,无法让我的脚本完成预期的任务 使用UnityEngine; 公共类玩家冲突:单行为 { 公众游戏运动; 私有void onCollisionCenter(UnityEngine.Collision-collisionInfo) { if(collisionInfo.gameObject.tag==“障碍物”) { GetComponent().enabled=false; } } },c#,unity3d,C#,Unity3d,这基本上是我的脚本,每个变量名都是正确的 但当我遇到障碍物时,玩家的移动并不会以某种方式停止。 在你写类似“为什么你没有严格遵守教程”的东西之前,这是因为最初的脚本对我不起作用,我试着用评论来帮助自己,但这也没有起作用:sademoji: 这是我使用的教程的链接。 我目前使用的unity版本是2018.3.7f1 我正在使用Visual Studio编辑脚本。请阅读Visual Studio标签。仅当您的问题是关于VS,而不仅仅是使用VS时,才应使用它。您是否已检查以确保调用了void OnC

这基本上是我的脚本,每个变量名都是正确的 但当我遇到障碍物时,玩家的移动并不会以某种方式停止。 在你写类似“为什么你没有严格遵守教程”的东西之前,这是因为最初的脚本对我不起作用,我试着用评论来帮助自己,但这也没有起作用:sademoji:

这是我使用的教程的链接。 我目前使用的unity版本是2018.3.7f1


我正在使用Visual Studio编辑脚本。

请阅读
Visual Studio
标签。仅当您的问题是关于VS,而不仅仅是使用VS时,才应使用它。您是否已检查以确保调用了
void OnCollisionEnter(UnityEngine.Collision collisionInfo)
,并且标记正确?您是如何定义
playermovement
?如果使用
GetComponent
为什么要使用公共变量?现在,您正试图访问附加到包含此脚本的对象的
playermovement
组件。尝试
movement.enabled=false
可能吗?不要在名为methodsokay的频率中使用GetComponent,因此
GetComponent
实际上在这里实现得不好,我终于做到了。我不知道到底发生了什么,但无论如何,重新创建脚本和障碍对象是一种可行的方法。无论如何,谢谢大家的帮助,下面是我现在使用UnityEngine的实际代码
;公共类玩家碰撞:MonoBehavior{public playermovement;void OnCollisionCenter(碰撞碰撞信息){if(collisionInfo.Collister.tag==“障碍”){movement.enabled=false;}}}}
请阅读
visual studio
标签。仅当您的问题是关于VS,而不仅仅是使用VS时,才应使用它。您是否已检查以确保调用了
void OnCollisionEnter(UnityEngine.Collision collisionInfo)
,并且标记正确?您是如何定义
playermovement
?如果使用
GetComponent
为什么要使用公共变量?现在,您正试图访问附加到包含此脚本的对象的
playermovement
组件。尝试
movement.enabled=false
可能吗?不要在名为methodsokay的频率中使用GetComponent,因此
GetComponent
实际上在这里实现得不好,我终于做到了。我不知道到底发生了什么,但无论如何,重新创建脚本和障碍对象是一种可行的方法。无论如何,谢谢大家的帮助,下面是我现在使用UnityEngine的实际代码
;公共类玩家碰撞:单行为{public player移动;void OnCollisionEnter(碰撞碰撞信息){if(collisionInfo.collider.tag==“障碍物”){movement.enabled=false;}}}}
using UnityEngine;

public class player_collision : MonoBehaviour
{
    public playermovement movement;
    private void OnCollisionEnter(UnityEngine.Collision collisionInfo)
    {
        if (collisionInfo.gameObject.tag == "obstacle")
        {
            GetComponent<playermovement>().enabled = false;
        }
    }
}