【问题标题】:Can someone explain why my Unity.reflect does not work有人可以解释为什么我的 Unity.reflect 不起作用
【发布时间】: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);
    }
}

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    这可能很简单,但已经了解了如何使用 Vector2.Reflect,因为您将 2D 用于其他所有内容。

    我看到这篇文章可能会有所帮助。 Unity - how to use Vector2.Reflect()

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      • 2021-08-10
      • 1970-01-01
      相关资源
      最近更新 更多