0

我编写了一个代码,一旦你在游​​戏对象上碰撞,它就会进入不同的场景,游戏对象是一张床,我应用了一个名为 Bed 的标签,我应用了一个刚体,我应用了代码到玩家,一旦你碰撞代码就会激活,但由于某种原因,它仍然无法工作,

这是我应用于播放器的代码:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.SceneManagement;

public class PlayerCollision : MonoBehaviour
{
    
  void OnCollisionEnter (Collision Collisionbad)
       {
        
          if (Collisionbad.collider.tag == "Bed")
           { 
                  Debug.Log("Roll Credits");
                  SceneManager.LoadScene("EndingScreen");
           }
        }
}
4

2 回答 2

0

您的问题很可能是您正在检查 a 的标签collider而不是 agameObject

if(Collisionbad.gameObject.tag == "Bed"))

此外,请考虑使用CompareTag,因为它更有效

if(Collisionbad.gameObject.CompareTag("Bed"))
于 2021-01-17T22:13:42.750 回答
0

将 BoxColliders 添加到碰撞的两个对象中将此脚本添加到与床碰撞的对象中 在设置中检查对象 1 和 2 的图层,它们不能碰撞并且您的脚本必须有效

于 2021-01-20T16:58:28.893 回答