Java 如何对精灵施加力?

Java 如何对精灵施加力?,java,android,android-studio,game-physics,Java,Android,Android Studio,Game Physics,我在玩一个游戏,你在玩杂耍,为了让球保持在空中,你需要对球施加力 我在想,如果你触到球的正下方(180度),并且最大半径越大,你用球踢出去的力量就越大。举个例子,如果你在160度,半径为6的情况下触球,你会得到比在170度,半径为8,5的情况下击球更少的力量 我应该如何处理它呢?我首先使用几个值: 方向(int)。右侧方向定义为0,顶部90,左侧180,底部270;你可以用它来描述一个角度 力量(双倍)。描述所施加力大小的常数值 点(int,int)用于描述画布上的点 ~~~~~~~~~~~~

我在玩一个游戏,你在玩杂耍,为了让球保持在空中,你需要对球施加力

我在想,如果你触到球的正下方(180度),并且最大半径越大,你用球踢出去的力量就越大。举个例子,如果你在160度,半径为6的情况下触球,你会得到比在170度,半径为8,5的情况下击球更少的力量


我应该如何处理它呢?

我首先使用几个值:

方向(int)。右侧方向定义为0,顶部90,左侧180,底部270;你可以用它来描述一个角度

力量(双倍)。描述所施加力大小的常数值

点(int,int)用于描述画布上的点

~~~~~~~~~~~~~~~~~~~~~~~~~~

然后,您可以添加几个有用的计算,如下所示:

int距离(点,点):Math.hypot(x1-x2,y1-y2)[这是给出两点之间距离的源代码]

最后的动作可以用几种方式完成。我可能会这样做:

每勾选: 获取当前的力量。添加重力(角度270为9.81)

每次点击:

获取咔哒声的位置和球的位置。 计算距离。 计算角度(三角法) 最后计算力并将其相加

如何增加力量

角度看。 以“权力”为例。 使用更多的三角法来计算


我希望这对你有点帮助。Sry的格式

哦,我建议使用我的方式来表示方向/角度,因为三角法比:)更容易