我只想在我在 XNA 游戏工作室的 2D 游戏中创建的一艘船上发生陆地碰撞时处理分数。Life(Score) 在 GameLife 类中被设置为 100 个名为 Life 的变量……
当两个物体相撞时,我想将生命减少 2 点...
但问题是当船在陆地上相撞时,生命会立即变为负值,直到船物体远离陆地物体......请帮帮我......
此处提供了代码
`private void HandleLandCollition(List<LandTile> landtiles)
{
foreach (LandTile landtile in landtiles)
{
rectangle1 = new Rectangle((int)landtile.position.X - landtile.texture.Width / 2,
(int)landtile.position.Y - landtile.texture.Height / 2,
landtile.texture.Width, landtile.texture.Height);//land object
rectangle2 = new Rectangle((int)position.X - texture.Width / 2,
(int)position.Y - texture.Height / 2,
texture.Width, texture.Height);//rectangle2 is defined to ship object
if (rectangle1.Intersects(rectangle2))
{
shiplife.Life = shiplife.Life - 2;
}
}
}