利用距离从 Object 慢慢靠近另一个移动的 Object
Using the distance to slowly close in from Object to another moving Object
我正在使用 Processing 编写 2D 迷你游戏。
有一辆车,你可以控制,一个十字慢慢追车。相当简单。但现在回答我的问题。
如何只使用一个单个参数来计算十字应该朝哪个方向移动?
这是计算A点到B点的距离
float distance ( float xa, float ya, float xb, float yb )
{
float dx = xa-xb;
float dy = ya-yb;
float dist = sqrt(dx*dx+dy*dy);
return dist;
}
为了保持简单,必须有一个可行且简单的解决方案,对吗?
Processing 有一个 dist()
功能,您应该使用它而不是自己动手。可以在 the reference.
中找到更多信息
我不太确定你所说的单个参数是什么意思,因为你将需要一个 X 速度和一个 Y 速度,所以它至少有两个参数。但是有几种方法可以找到它们:
您可以将 X 和 Y 距离缩放为 单位向量。 PVector
class 具有有用的功能,可以帮助解决这个问题。同样,可以在 the reference.
中找到更多信息
或者您可以使用基本三角函数来计算两个对象之间的角度。 Google 是你的朋友。当你有角度时,你可以使用 cos()
和 sin()
函数来计算 X 和 Y 速度。
Stack Overflow 并不是真正为一般 "how do I do this" 类型的问题设计的。它用于更具体的 "I tried X, expected Y, but got Z instead" 类型的问题。所以你真的应该尝试一些东西,如果你遇到困难,post 一个 MCVE。祝你好运。
我正在使用 Processing 编写 2D 迷你游戏。 有一辆车,你可以控制,一个十字慢慢追车。相当简单。但现在回答我的问题。
如何只使用一个单个参数来计算十字应该朝哪个方向移动?
这是计算A点到B点的距离
float distance ( float xa, float ya, float xb, float yb )
{
float dx = xa-xb;
float dy = ya-yb;
float dist = sqrt(dx*dx+dy*dy);
return dist;
}
为了保持简单,必须有一个可行且简单的解决方案,对吗?
Processing 有一个 dist()
功能,您应该使用它而不是自己动手。可以在 the reference.
我不太确定你所说的单个参数是什么意思,因为你将需要一个 X 速度和一个 Y 速度,所以它至少有两个参数。但是有几种方法可以找到它们:
您可以将 X 和 Y 距离缩放为 单位向量。
PVector
class 具有有用的功能,可以帮助解决这个问题。同样,可以在 the reference. 中找到更多信息
或者您可以使用基本三角函数来计算两个对象之间的角度。 Google 是你的朋友。当你有角度时,你可以使用
cos()
和sin()
函数来计算 X 和 Y 速度。
Stack Overflow 并不是真正为一般 "how do I do this" 类型的问题设计的。它用于更具体的 "I tried X, expected Y, but got Z instead" 类型的问题。所以你真的应该尝试一些东西,如果你遇到困难,post 一个 MCVE。祝你好运。