加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在类似太空侵略者的游戏中执行子弹/敌方矩形碰撞检测

发布时间:2020-12-15 17:27:46 所属栏目:百科 来源:网络整理
导读:我最近发布了一个关于发射子弹的问题,我(当然有帮助)设法弄明白了.我现在有一个新问题,我无法弄清楚子弹和我的敌人之间的碰撞检测.我不想一次发布我的所有代码,所以这里是我的类列表,我将根据您的要求发布代码: cButton(这只是一个’播放’按钮,无需帮助).
我最近发布了一个关于发射子弹的问题,我(当然有帮助)设法弄明白了.我现在有一个新问题,我无法弄清楚子弹和我的敌人之间的碰撞检测.我不想一次发布我的所有代码,所以这里是我的类列表,我将根据您的要求发布代码:

> 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
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读