我正在开发一款独立视频游戏,并且一直在假设因为我的控制器上的拇指杆具有圆形运动范围,它返回“圆形”坐标;也就是说,笛卡尔坐标被限制在一个圆形区域(半径为 1)。实际上,坐标是“正方形”;例如,右上角的摇杆位置注册为 x=1,y=1。当我将坐标从笛卡尔坐标转换为极坐标时,幅度可能会超过 1 - 这意味着玩家可以沿对角线移动比垂直或水平移动更快。
因此,为了澄清,我想根据方向和幅度记录模拟摇杆的位置,其中幅度在 0 和 1 之间。摇杆返回方形平面上的坐标,因此只需将坐标从笛卡尔坐标转换为极坐标还不够。我想我需要转换坐标空间,但那是我猴脑的极限。