我有一些关于我一直在研究的乒乓球游戏的代码: 代码示例显示,当球击中窗口底部时,球会重置到窗口中间。我想要实现的是,我希望能够添加一些代码,以便如果球击中窗口的顶部,球将重置回中间。 谁能帮我这个?
//...
// 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;
}
//...
最佳答案
我想通了,添加了更多条件语句来检查边界,如果球击中顶部则将球重置到屏幕中间。
关于c++ - 如何将 Sprite 的位置设置到屏幕中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19294085/