统一触发 Box Collider 2D 中的游戏对象

问题描述

我在玩 2d 游戏时遇到问题。有一个名为 Player 的精灵,带有 2D 盒对撞机,刚体,移动...还有另一个精灵,带有两个 2D 盒对撞机。第一个不是触发,第二个是触发。这个精灵有这个代码

private void OnTriggerEnter2D(Collider2D other)
{
    if(other.CompareTag("Player"))
    {
        Debug.Log("Player in range");
    }
    
}

private void OnTriggerExit2D(Collider2D other)
{
    if(other.CompareTag("Player"))
    {
        Debug.Log("Player left range");
    }
}

enter image description here

这是玩家

enter image description here

这是游戏对象

我需要让那个玩家在那个物体的范围内。这仅用于调试,但不起作用。我不知道如何解决它。我试过文档,但我不知道,我是初学者。感谢您的帮助。

解决方法

我发现您是 Unity 的新手。你混淆了事物的名称。让它为你直截了当。

  • 您的游戏对象名为玩家
  • 游戏对象的标签是未标记
  • 游戏对象有一个名为Sprite Renderer
  • 组件
  • Sprite Renderer 有一个 Sprite(图像),名为 playerDown_0

你的问题是你的游戏对象Player没有标签。

enter image description here