Unity 2D:碰撞触发

时间:2018-10-28 12:45:15

标签: c# unity3d triggers collision-detection

在这里,我am making a game for my thesis. The game is called hacky sack, I在触发器为真时遇到问题,因为我的角色和对象之间的碰撞正在通过,并且如果idon`t没有触发器,则基本上就是击中它当我的播放器运行时。

你们能帮我了解一下物体/麻袋撞击时如何随机上升。所以这是我的代码:

 public void Sipa()
 {
   if (canSipa == true)
    {
     _pitcha.GetComponent<Rigidbody2D>().AddForce(new Vector2(-400, 1000));
    }
 }

}

这是我的目的

private void OnTriggerEnter2D(Collider2D collision)
{
    if(collision.gameObject.tag == "Player")
   {
       _player.GetComponent<PlayerManager>().canSipa = true;
     }
}

 private void OnTriggerExit2D(Collider2D collision)
 {
    if (collision.gameObject.tag == "Player")
   {
   _player.GetComponent<PlayerManager>().canSipa = false ;
  }
 }

}

1 个答案:

答案 0 :(得分:0)

添加第二个collider,将其标记为trigger,该第二个collider比第一个略大。将较小的内部trigger留给物理。您的“脚”应该输入collider并激活它,然后与内部collider碰撞。确保标记为trigger的{​​{1}}是较大的。