我试图让外星人与射手相交,当交叉点发生时,我想退出游戏。然而,它们直接穿过底部的射手,而代码甚至没有执行
这是我的代码:
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;
答案 0 :(得分:1)
也许您正在使用零点以外的原点绘制一些元素?
尝试解决此问题的一种方法是在碰撞时设置一个断点,只有当你点击Space时才会触发该断点。开始玩游戏,当你应该交叉时,点击空格,然后检查你在矩形中设置的值。试着弄清楚为什么他们不代表真正发生的事情。