Rigidbody2D 通过 Box Collider 2D

Rigidbody2D to go through Box Collider 2D

我正在尝试为我正在制作的游戏制作一个计分系统;这是 Flappy Bird 的翻版。

我遇到的问题是,我设置了一个带有 rigidbody2d 和 box collider 的精灵作为分数;我试图做到这一点,以便当角色穿过那个精灵时;它会在分数上加一,但是当角色试图通过它时,它只会被推回屏幕的另一侧。

这当然是因为盒子对撞机,但如果没有这种方法,我不确定是否有其他方法可以做到这一点。这是检测角色是否击中管道或得分线的代码:

void OnCollisionEnter2D (Collision2D hit) {
   if(hit.transform.gameObject.name == "Pipe(Clone)") {
      die();
      Debug.Log("hit");
   }
   if (hit.transform.gameObject.name == "Score(Clone)") {
      Debug.Log("Score");
   }
}

一切都记录得很好,但问题是这只鸟只是面对得分线,这不是应该发生的事情,请尝试帮助或建议我应该怎么做。

P.S。我是一个新手程序员;我有点知道我在做什么,但不太擅长调试和修复它们,谢谢。

您应该在编辑器中检查 Bird 对象碰撞器上的 "Is Trigger"。并使用:

void OnTriggerEnter2D(Collider2D col) {
     if (col.transform.name == "Score")
           Score++;
 }

在鸟对象脚本中。