OnTriggerEnter2D collision.gameObject.tag 不工作,我已经设置了组件并编写了正确的代码 Unity C#
OnTriggerEnter2D collision.gameObject.tag Not Working & I've Setted Up Components & Written Correct Code 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
}
}
不仅如此,这也适用于障碍物,它们的标签是 "Obstacle"。
有什么解决办法吗?
谢谢。
我认识的不是 StackExchange 成员的人找到了答案! OnTriggerEnter2D
和 SceneManager.LoadScene(...)
.
都没有造成问题
我没有检查导致问题的模拟。但无论如何,感谢您的回答!
此致,
提问者
我有一个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
}
}
不仅如此,这也适用于障碍物,它们的标签是 "Obstacle"。
有什么解决办法吗?
谢谢。
我认识的不是 StackExchange 成员的人找到了答案! OnTriggerEnter2D
和 SceneManager.LoadScene(...)
.
我没有检查导致问题的模拟。但无论如何,感谢您的回答!
此致,
提问者