我正在开发一个游戏,如果两个对象(两个图片框的形状)发生碰撞,用户将丧生。但是,我不确定如何使用if-else或switch case语句来确定它们何时发生冲突。我尝试使用它,但它似乎并不多,因此,当一个图片框的位置与另一个图片框的位置完全相同时,它会做一些事情。这仅是在这部分使用条件语句的实践,因此它没有做很多事情:
if(pictureBox1.Location == pictureBox2.Location)
{
pictureBox1.Location = new Point(pictureBox1.Left - 10);
}
最佳答案
创建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.
}