C# Unity重新启动脚本未激活

C# Unity重新启动脚本未激活,c#,unity3d,C#,Unity3d,我在unity做了一个跑酷游戏,我试着让它在你从平台上掉下来的地方重新开始。我使用的是unity 2020.1.3,这里是我的代码 using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; public class Restart : MonoBehaviour { private Scene scene; void Start() { scene = SceneManager.

我在unity做了一个跑酷游戏,我试着让它在你从平台上掉下来的地方重新开始。我使用的是unity 2020.1.3,这里是我的代码

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class Restart : MonoBehaviour
{

private Scene scene;


void Start()
{
    scene = SceneManager.GetActiveScene();
}
void OnTriggerEnter(Collider other)
{
    if (gameObject.tag == "Player")
    {
        Application.LoadLevel(scene.name);
    }
    else
    {

    }
}
}

每当我运行我的场景,我从平台上摔下来,什么也没发生。我在团结方面没有什么经验,也不知道发生了什么。脚本被分配给一个在整个关卡中展开的立方体,并在玩家与其碰撞时触发该脚本

你的立方体是否连接了刚体

另外,勾选isTrigger

以下是一个概要:


首先,确保上述对象具有碰撞器,并且至少有一个具有刚体。 第二,更换OnTiggerEnter:

void OnTriggerEnter(Collider other)
{
    if (other.tag == "Player")
    {
        Application.LoadLevel(scene.name);
    }
    else
    {

    }
}

使用“gameobject.tag”,您将该对象与自身进行比较。如果要比较碰撞对象的名称(碰撞器名称)是否等于某个值,则需要使用碰撞器类的参数名称。在你的情况下,是“其他”。顺便说一下,
other.tag==“name”
已被弃用,请使用
other.CompareTag(“某物”)

确定触发了吗?我不知道。我怎样才能检查它,如果没有,我该怎么做才能修复?在StackOverflow中加入一些日志,我们避免只链接到答案,在答案中简要描述页面包含的内容。此外,这似乎不是一个完整的答案,可能更适合作为澄清的一个评论。我不确定我是否真的理解(对不起,我是新来的,我需要有人在整个过程中牵着我的手),你能更具体一点吗?我在我的播放器和立方体中都添加了碰撞器和刚体,但似乎没有发生任何事情。您正在调用要查看是否碰撞的对象作为参数OnTiggerEnter(碰撞其他)上的“其他”。所以,如果你想得到正在碰撞的物体,你应该做“其他。一些”而不是“游戏物体。一些”。“游戏对象”和“这个”是一样的。此外,您正在使用OnTiggerEnter,因此必须在一个刚体上检查“isTrigger”。提示:触发器只是为了查看碰撞,对象根本不会“变成墙”。如果要检查正常碰撞,请使用OnCollisionCenter而不是OnTriggerCenter。