我的播放器正在穿墙(即使它们是刚体),下面的脚本不';t工作(C#)

我的播放器正在穿墙(即使它们是刚体),下面的脚本不';t工作(C#),c#,visual-studio,unity3d,C#,Visual Studio,Unity3d,好吧,我想做一个像飞鸟一样的游戏,我是个书呆子,我几乎没有unity方面的经验,我一周前就开始学习c#和编程。。。。 所以请不要对我期望太高 所以,我的刚体穿过墙壁,即使我的墙壁上有组件刚体2D 我想制作一个脚本,如果你与墙发生碰撞,它会将场景更改为主菜单,如下所示: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement

好吧,我想做一个像飞鸟一样的游戏,我是个书呆子,我几乎没有unity方面的经验,我一周前就开始学习c#和编程。。。。 所以请不要对我期望太高 所以,我的刚体穿过墙壁,即使我的墙壁上有组件刚体2D 我想制作一个脚本,如果你与墙发生碰撞,它会将场景更改为主菜单,如下所示:

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using UnityEngine.SceneManagement;
 public class SceneSwitch : MonoBehaviour {  
   void OnTriggerEnter(Collider other){
     SceneManager.LoadScene(0);
    }

 }


    i don't have any error but it just doesn't work.

(关于间距,我对平台不熟悉,我真的不知道如何使用它)

你说你使用的是

刚体2D

确保您的所有碰撞器都是
xyclider
2D
,然后您还希望使用2D版本


在统一中,3D和2D物理是完全分离的引擎,不以任何方式相互作用。因此,Physics2D对3D信息<代码>OnTriggerEnter一无所知,只知道2D信息<代码>OnTriggerEnter2D

确保鸟和墙壁都有碰撞器。还要确保没有人勾选了“是触发器”。这能解决问题吗?祝你在编程方面好运!嗨,是的,我确保两个精灵都有对撞机,我的播放器也有标记的播放器等等,但在我读了你的评论后,我尝试取消勾选“是触发器”,现在我的播放器不再穿墙,这与脚本或其他东西有什么关系吗?触发器适用于不可碰撞的刚体,但您仍然希望检查碰撞。现在您取消选中它,您就解决了问题。注意:您现在希望在代码中使用
OnCollisionEnter
,而不是
OnTriggerEnter
。祝你好运您好,我做了一些研究,更改了CollisionCenter的脚本,正如您所说,现在它可以工作了。TYSM!这真的是Visual Studio特有的吗?;)
public class SceneSwitch : MonoBehaviour 
{  
    private void OnTriggerEnter2D(Collider2D other)
    {
        SceneManager.LoadScene(0);
    }
}