如何对精灵施加力?
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"。
使用更多的三角函数来计算这个。
希望对您有所帮助。抱歉格式
我正在开发一款杂耍球的游戏,为了让球保持在空中,您需要对球施加力。
我在想,如果你触球正下方(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"。 使用更多的三角函数来计算这个。
希望对您有所帮助。抱歉格式