检测图片框何时触及另一个控件

时间:2016-03-31 06:08:41

标签: c# winforms

我做了一个游戏,玩家控制一个正方形,每当它碰到一堵墙就应该死掉。广场是一个图片框,墙壁也是图片框。你可以使用W,A,S和D移动。我正在考虑做类似的事情:

if(Square.Top == Square.Top + Square.Height) 

然后重新开始游戏。有没有更好的方法呢?不是有很多IF吗?每当一个控件接触另一个人做某事?

非常感谢!

1 个答案:

答案 0 :(得分:1)

是的,您可以通过Control.Bounds获取包含矩形的控件,然后将IntersectsWith与另一个矩形一起使用。

if(Square.Bounds.IntersectsWith(Wall.Bounds))
{
    // ...
}

请记住,当你的方块接触到墙壁时它不会触发,只有当它开始在它上面时才会触发,但我认为这就是你想要的。