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