所以公式基本上是: xd = x2-x1 yd = y2-y1 距离= sqrt(xd * xd + yd * yd)
但是,根据某个东西是在另一个物体的上方,下方,左侧还是右侧,公式必须有所不同?
就像,如果我在屏幕中间有一个精灵,并且在下面的某个地方有一个敌人,那么这需要更改" x2-x1" (如果敌人在上面,那么,让我们说玩家精灵是x1,敌人是x2)反过来呢?
答案 0 :(得分:4)
您在上面描述的意义上的距离将始终是正值。实数的平方和总是正数,正数的平方根也总是正数。因此,无论您定义xd = x2-x1
还是xd = x1-x2
都无关紧要。它们只有它们的符号不同,所以它们都具有相同的绝对值,这意味着它们都是相同的值。
所以,这里没有任何特殊情况。距离测量的表述可以解决您提出的所有问题。
答案 1 :(得分:0)
答案 2 :(得分:0)
Math.Sqrt(Math.Pow(a.X-b.X,2)+ Math.Pow(a.Y-b.Y,2));
试试这个。它应该工作!