我正在研究一个乒乓球游戏的代码:该代码示例显示,当球碰到窗口底部时,球会重置到窗口中间。我想要达到的目的是,我希望能够添加一些代码,以便如果球碰到窗口顶部,则球会重置回中间。谁能帮我这个?
//...
// IF BALL GETS PAST PLAYER PADDLE AND TOUCHES BOTTOM OF SCREEN
if (GetPosition().y - GetHeight()/2 <= 0)
{
_angle = 180 - _angle;
moveByY = -moveByY;
}
if (GetPosition().y + GetHeight()/2 + moveByY >= Game::SCREEN_HEIGHT)
{
// RESET BALL TO MIDDLE OF SCREEN AND RESET TIMER TO 0
GetSprite().SetPosition(Game::SCREEN_WIDTH/2, Game::SCREEN_HEIGHT/2);
_angle = (float)sf::Randomizer::Random(0,360);
_velocity = 220.0f;
_elapsedTimeSinceStart = 0.0f;
}
//...
我弄清楚了,添加了一些条件语句来检查边界,如果球击中了顶部,则将球重置到屏幕中间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句