矩形的交集问题
本文关键字:问题 | 更新日期: 2023-09-27 18:31:47
我试图让外星人与射手相交,当相交发生时,我想退出游戏。但是,它们直接通过底部的射手,甚至没有执行代码
这是我的代码:
Rectangle rectlauncher = new Rectangle(launcherXPos, 720, launcherImg.Width, launcherImg.Height);
Rectangle rectinvader = new Rectangle(invaders[Count].GetXPos(), invaders[Count].GetYPos(),invaderImg.Width, invaderImg.Height);
if (rectinvader.Intersects(rectlaucher))
{
this.Exit();
}
代码的值:
launcherXPos = 512;
invaderDirection = -1;
invaderSpeed = 20;
invader = new invader[55]; //displays the number entered of 'invaders'
int XPos = 512;
int YPos = 100;
也许您正在用零以外的原点绘制一些元素?
尝试解决此问题的一种方法是在碰撞处设置一个断点,该断点仅在您点击空格键时触发。开始玩游戏,何时应该相交,点击空格键,然后查看您在矩形中设置的值。试着弄清楚为什么它们不能代表真正发生的事情。