我正在使用屏幕/虚拟操纵杆制作游戏。它自动操作的操纵杆很好。
我想要的是当你转动操纵杆时,子弹向那个方向射击。我也有这个工作。现在当操纵杆不在边缘/半径时拍摄子弹时会出现问题。
当操纵杆位于边缘/半径时,子弹以最大速度移动,正是我想要的。但是,当操纵杆位于半径和操纵杆中心之间的某处时,子弹移动得更慢。这是合乎逻辑的,因为弧度和东西。
但这不是我想要的。应该发生的是子弹总是以最大速度移动。
有谁知道如何实现这一目标?我完全陷入了困境。
谢谢!
编辑:因为我根本不理解这一点,基本上我想要的是我在一个圆圈内有一个圆弧点,我想在圆的边缘得到那个点的位置。所以,假设我有一个弧度的Vector2。
Vector2(-0.3, 0.3);
,圆的半径为40。
从圆心到Vector2点的长度可能在某处
radius = 40 * 0.3 = 12
现在,当长度为40时,Vector2指向的是什么?
我似乎无法弄清楚这一点。三角函数不是我最强的观点。
答案 0 :(得分:0)
我修好了!我只是乘以一个非常大的数字的操纵杆的localPosition,以便localPosition woul落在半径之外。然后我只使用clampMagnitude将其放在半径的边缘。现在我得到了正确的行为。