0

我正在使用屏幕/虚拟操纵杆制作游戏。它自己的操纵杆工作正常。

我想要的是当你转动操纵杆时,一颗子弹朝那个方向发射。我也得到了那个工作。现在,当操纵杆不在边缘/半径时射击子弹时会出现问题。

当操纵杆位于边缘/半径时,子弹以最大速度移动,这正是我想要的。但是,当操纵杆位于操纵杆半径和中心之间的某个位置时,子弹移动得更慢。由于弧度和其他东西,这是合乎逻辑的。

但这不是我想要的。应该发生的是子弹总是以最大速度移动。

有谁知道如何做到这一点?我完全坚持这一点。

谢谢!

编辑:因为我仍然不明白这一点,基本上我想要的是我在一个圆内有一个弧度点,我想得到那个点在圆边缘的位置。

所以假设我有这个以弧度表示的 Vector2。

    Vector2(-0.3, 0.3);

圆的半径是40。

从圆心到 Vector2 点的长度可能在附近

    radius = 40 * 0.3 = 12

现在当长度为 40 时,Vector2 点是什么?

我似乎无法弄清楚这一点。三角学绝对不是我的强项。

4

1 回答 1

0

我修好了它!我只是将操纵杆的 localPosition 乘以一个非常大的数字,这样 localPosition 就会落在半径之外。然后我只使用clampMagnitude 将它放在半径的边缘。现在我得到了正确的行为。

于 2013-08-30T09:51:33.163 回答