首页 > 解决方案 > 如何使 java 对象平滑并缓慢地跟随鼠标光标?

问题描述

我正在制作一个小型 2D 游戏,玩家可以在其中控制喷气式飞机,这架喷气式飞机将跟随他们的鼠标光标。

我得到了数学运算,但是当我降低加速度时,飞机开始变得更加僵硬,不太平滑的转弯。例如:(我添加了一条轨迹,这样你就可以知道它转动的角度)高速喷射轨迹:

图像1

注意那条轨迹的平滑度,但我希望飞机即使在以较低速度移动时也具有相同的平滑度。

目前,如果我降低速度,它看起来更像这样:低加速速度的喷射轨迹:

img2

这是一些代码,因此您可以查看我当前用于移动飞机的方程式。(这里速度是10)

int jet1DeltaX = (int) Math.round((Math.cos(theta)) * 10);

int jet1DeltaY = (int) Math.round((Math.sin(theta)) * 10);

注意:theta 只是使用 atan2 看鼠标的角度。

.

然后我将增量位置添加到原始位置。

jet1.setPos(jet1.getX() + jet1DeltaX, jet1.getY() + jet1DeltaY);

所以我的问题是,我将如何减慢喷气式飞机的速度,同时保持它在平稳的路径上移动?

标签: javamathgraphicsgame-physicstrigonometry

解决方案


推荐阅读