我在我一直在研究的pong遊戲上有一些代碼: 代碼示例顯示當球擊中窗口底部時,球重置到窗口的中間。我想要實現的是,我希望能夠添加一些代碼,以便如果球擊中窗口的頂部,球將重置回中間。 任何人都可以幫助我嗎?如何將精靈的位置設置爲屏幕中心
//...
// 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;
}
//...
我忘了提及我的乒乓球比賽是垂直的,對手的槳是在窗口的頂部,球員的槳是在窗口的底部 – user1283674
我想通了,只是複製代碼,並刪除線那球反彈回來了。我現在正在設置邊界,以便槳不會繼續移動到窗口邊界之外... – user1283674
我不確定我是否清楚這裏的問題,問題在哪裏,問題在哪裏現在你不希望它做什麼? –