如何找出两个图片框在C#WinForms中发生冲突的时间

时间:2017-10-13 15:58:34

标签: c# winforms

我正在开发一个游戏,如果两个物体(两个图片框的形状)发生碰撞,用户就会失去生命。但是,我不确定如何使用if-else或switch case语句来确定它们何时发生冲突。我尝试使用它,但似乎并不多,所以当一个图片框的位置与另一个图片框的位置完全相同时,它会做一些事情。这只是作为练习使用这部分的条件语句,所以它没有做太多:

if(pictureBox1.Location == pictureBox2.Location)
            {
                pictureBox1.Location = new Point(pictureBox1.Left - 10);
            }

1 个答案:

答案 0 :(得分:3)

创建Rectangle并检查交叉点:

var rect1 = new System.Drawing.Rectangle(pictureBox1.Location, pictureBox1.Size);
var rect2 = new System.Drawing.Rectangle(pictureBox2.Location, pictureBox2.Size);

if (rect1.IntersectsWith(rect2))
{
    // Here is your collision.
}