c# - 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
}
}
不仅如此,这也适用于障碍物,它们的标签是“障碍物”。
有什么解决办法吗?
谢谢。
解决方案
我认识的不是 StackExchange 成员的人找到了答案!既不OnTriggerEnter2D
是制造问题,也不是SceneManager.LoadScene(...)
。
我没有检查出问题的模拟。但无论如何,谢谢你的回答!
问候,
提问者
推荐阅读
- amazon-web-services - 在没有生成的随机哈希的情况下获取 AWS::StackName
- python - Python Elasticsearch "No host specified" Error
- javascript - Toggle not working on mobile device view - BS custom dropdown
- sql - 使用 pivot 将行更改为列以使用 sql 对数据进行排序
- c++ - 我如何在贝尔曼福德算法中输入图形?
- spring-boot - Grafana 中的操作单元
- string - 在 Hive/Presto 中将文件路径拆分为其组成路径
- c# - ABP 上的应用服务 URL 映射
- django - Django:从 date_of_birth 注释年龄
- python - Discord.py 立即调用任务