C#使图片框远离另一个图片框

时间:2018-01-14 14:26:00

标签: c# picturebox

哎呀,所以我正在制作一个迷你游戏":你是一只猫,你需要抓住一只老鼠。我试图让鼠标(图片框)远离猫(图片框),如果猫与鼠标的距离小于10像素(或15或其他),则鼠标开始向另一个方向跑。如果猫不是那么接近,那么鼠标就会停留在原处。 我可以选择,无论猫在哪里,鼠标都向相反的方向跑去,但是如果猫的距离小于10像素,我希望它只能移动,我不能这样做,我不会知识。我尝试了一些选择,但没有成功。 你可以帮帮我吗?或者给出一些提示?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Pythagorean theorem轻松计算两个位置之间的距离。当鼠标具有坐标[x1,y1]和猫[x2,y2]时,您可以轻松检查

if ( ( ( x2 - x1 ) * ( x2 - x1 ) + ( y2 - y1 ) * ( y2 - y1 ) ) <= ( 10 * 10 ) )
{
   //closer than 10px
}

在这里,我甚至对角地拍摄10px。比较是100,因为做平方根是一个计算上昂贵的操作,所以比较不等式的平方更容易。