我最近发布了一个关于发射子弹的问题,我(当然有帮助)设法弄明白了.我现在有一个新问题,我无法弄清楚子弹和我的敌人之间的碰撞检测.我不想一次发布我的所有代码,所以这里是我的类列表,我将根据您的要求发布代码:
> cButton(这只是一个’播放’按钮,无需帮助).
>子弹
> Game1
>敌人
附:这只是我的第二篇文章,对我来说很容易;)注意:玩家只能左右移动,敌人在一条海峡线上从上到下移动(如果这有帮助的话)
最佳答案 这是我以前用过的一种非常简单的方法.在子弹周围设置一个矩形:
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
}