【发布时间】:2018-01-25 11:21:04
【问题描述】:
我希望我的角色在我按下 S 时忽略正在与之发生碰撞的层(就像在 Gun Mayhem 中,当您在与层发生碰撞时按下向下键并且角色忽略与该层的碰撞一样)。问题是OnCollisionStay2D 功能仅在我移动时才有效。因此,如果我的角色正在移动,我只能忽略与我正在碰撞的图层的碰撞。否则,它不起作用。这是我为了让角色忽略碰撞而需要做的
我的代码:
void OnCollisionStay2D(Collision2D c)
{
Debug.Log("COLLISION");
if (Input.GetKeyDown (KeyCode.S) || Input.GetKeyDown (KeyCode.DownArrow))
{
Physics2D.IgnoreCollision (GetComponent<Collider2D> (), c.gameObject.GetComponent<Collider2D> ());
}
}
【问题讨论】: