矩形的交叉点问题

时间:2012-04-19 21:37:48

标签: c# xna

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

这是我的代码:

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;

1 个答案:

答案 0 :(得分:1)

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

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