为什么我的Pong球碰撞代码有时不起作用

时间:2019-12-08 04:56:08

标签: c++ vector collision detection pong

我正在使用C ++创建用于大学项目的Pong游戏。但是,我用于检查顶屏和底屏与球的碰撞的代码在90%的时间内都有效。多数情况下,球会正确弹跳,有时球会在屏幕边缘来回夹击和弹跳,有时球会在屏幕上右移,我不确定为什么。

if (ball->yPos() + ball->height() > game_height || ball->yPos() < 0)
{
  ball_direction.y *= -1;
}

这是控制与球和顶/底壁碰撞的代码段。该代码检查球的位置是否超出边界,然后将我的ball_direction向量在y轴上乘以-1来创建反弹效果。 这在大多数情况下都有效,但是有时它决定不起作用,我不知道为什么! 如果您需要更多代码,请让我知道,我仍然对这一切还很陌生。

0 个答案:

没有答案