0

我试图让外星人与射手相交,当相交发生时,我想退出游戏。但是,它们直接通过底部的射手,甚至没有执行代码

这是我的代码:

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;
4

1 回答 1

1

也许您正在使用零以外的原点绘制一些元素?

尝试解决此问题的一种方法是在碰撞处设置一个断点,该断点仅在您点击 Space 时触发。开始玩游戏,当你应该相交时,点击空格,然后检查你在矩形中设置的值。试着弄清楚为什么它们不能代表真正发生的事情。

于 2012-04-19T21:57:23.860 回答