首页 > 解决方案 > OnTriggerEnter2D collision.gameObject.tag 不工作并且我已经设置了组件并编写了正确的代码 Unity C#

问题描述

我有一个OnTriggerEnter2D函数,我使用collision.gameObject.tag并将其设置为不带引号的标签“Bound”,但它无法检测到标签 Bound。

所有带有 Bound 标签的边界都具有 Box Collider 2D,而玩家对象具有 Box Collider 2D。我检查了没有引号的“Is Trigger”,每个 Box Collider 2D,我向玩家对象添加了一个 Rigidbody 2D 并将重力比例设置为 0。 Rigidbody 2D 是动态的和非运动学的。

这是我的播放器代码(Player.cs):

 private void OnTriggerEnter2D(Collider2D collision) {
      if(collision.gameObject.tag == "Bound") {
           SceneManager.LoadScene("DeathScreen"); //I have a scene named DeathScreen
      }
 }

不仅如此,这也适用于障碍物,它们的标签是“障碍物”。

有什么解决办法吗?

谢谢。

标签: c#unity3d2d-games

解决方案


我认识的不是 StackExchange 成员的人找到了答案!既不OnTriggerEnter2D是制造问题,也不是SceneManager.LoadScene(...)

我没有检查出问题的模拟。但无论如何,谢谢你的回答!

问候,

提问者


推荐阅读