2017-05-14 54 views
0

我正在使用Processing来编程2D迷你游戏。 有一辆车,你可以控制,并一个交叉慢慢追车。相当简单。但现在对我的问题。使用距离从Object缓慢关闭到另一个移动对象

如何仅使用一个单参数来计算,在十字方向上应该移动?

这是从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; 
} 

保持它的简单,必须有一个可能的和简单的解决方案,对不对?

回答

0

处理有一个dist()函数,你应该使用它而不是自己做。更多信息可参见the reference

我不完全确定你的单参数是什么意思,因为你需要X速度和Y速度,所以至少有两个参数。但也有一些方法去寻找他们:

  • 你可以扩展你的X和Y的距离为单位矢量。类有PVector有用的功能,将有助于这一点。再次,更多信息可以在the reference中找到。

  • 或者您可以使用基本的三角法来计算两个物体之间的角度。谷歌是你的朋友。如果有角度,则可以使用cos()sin()函数来计算X和Y速度。

堆栈溢出是不是真的设计为一般的“我该怎么做”类型的问题。这是更具体的“我试过X,预计Y,但得到Z”,类型的问题。所以你应该真的尝试一下,如果你卡住了,请发帖MCVE。祝你好运。

相关问题