当一个矩形与另一个矩形相交时,如何使它消失?

时间:2018-10-26 18:31:37

标签: c# xna sprite collision-detection game-engine

我想要的是,如果样本碰到mfire,mfire将永久消失。如果可能的话,我不知道如何“绘制”精灵。 :/谢谢大家-绝望的学生

 foreach (Platform mfire in mfires)
 if (sample.rectangle.Intersects(mfire.rectangle))
      {
             //What to put here?

      }

2 个答案:

答案 0 :(得分:0)

每一帧都画画。

所以您想要的是在Update方法中检查它是否相交。如果是,则将其从阵列中删除。

然后,在您的draw方法中,您只需绘制数组中的所有内容。

答案 1 :(得分:0)

如果您要使用数组或列表来保存对象,则可以调用该数组中的函数以删除对象。

所以在您的情况下:

foreach (Platform mfire in mfires)
if (sample.rectangle.Intersects(mfire.rectangle))
{
    //put this here
    mfires.Remove(mfire);
}

我无法确定您是使用数组还是列表,因此,如果您使用列表,则此解决方案有效。