如何对精灵施加力?

How to apply a force to a sprite?

我正在开发一款杂耍球的游戏,为了让球保持在空中,您需要对球施加力。

我在想,如果你触球正下方(180 度)并且最大半径越大,你踢球的力量就越大。因此,举个例子,如果你以 160 度和半径 6 接触球,你将获得比以 170 度和半径 8,5 击球时更少的力量。

我该如何解决?

我将从使用几个值开始:

方向(整数)。右侧方向定义为0,上90,左180,下270;你可以用它来描述一个角度。

力(双)。一个常数值来描述施加了多少力。

Point(int,int) 描述 canvas.

上的一个点

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

然后您可以添加几个有用的计算:

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

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

每笔报价: 获取当前力。添加重力(角度 270 中的 9.81)

每次点击:

取点击的位置和球的位置。 计算距离。 计算角度(三角函数) 最后算力加起来。

如何加力?

取角度。 取"power"。 使用更多的三角函数来计算这个。

希望对您有所帮助。抱歉格式