【发布时间】:2018-03-21 20:48:05
【问题描述】:
我正在制作一个 2D 自上而下的子弹地狱游戏,并且需要一些帮助以使子弹从墙上弹回。变量运动是子弹向量2,标签边界是给墙壁的标签。我从不同的测试中知道触发器的工作方式应该是正常的(所以当它撞到墙上时它会激活)但是运动只是没有反映,它继续朝着同一个方向移动。
编辑:我将 vector3.reflect 更改为 vector2,但它仍然不起作用。
private ContactPoint2D[] contacts = new ContactPoint2D[2];
void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "boundary")
{
other.GetContacts(contacts);
Vector2 normal = contacts[0].normal;
movement = Vector2.Reflect(movement, normal);
}
}
【问题讨论】: