4

我最近发布了一个关于发射子弹的问题,我(当然在帮助下)设法弄清楚了。我现在有一个新问题,我无法弄清楚子弹和我的敌人之间的碰撞检测。我不想一次发布我所有的代码,所以这里是我的类列表,我将根据您的要求在其中发布代码:

  • cButton(这只是一个“播放”按钮,不需要帮助)。
  • 子弹
  • 游戏1
  • 敌人

PS这只是我的第二个帖子,对我放轻松;) 注意:玩家只会左右移动,而敌人会从上到下在一条直线上移动(如果这有帮助的话)

4

2 回答 2

2

这是我以前使用过的一种非常简单的方法。在子弹周围设置一个矩形:

Rectangle bulletRect = new Rectangle(bulletPosition.X, bulletPosition.Y, bulletText.Width, bulletText.Height);

对敌人也一样:

Rectangle enemyRect = new Rectangle(enemyPosition.X, enemyPosition.Y, enemyText.Width, enemyText.Height);

然后在测试碰撞时,您可以使用:

if(bulletRect.Intersects(enemyRect))
{
   //We have a collision
}
于 2012-07-23T14:31:57.620 回答
0

我假设您必须检查子弹是否进入了一艘船当前占用的街区,如果是,则将其摧毁并取出子弹。如果您发布相关代码可能会有所帮助。:)

于 2012-07-23T14:31:00.107 回答