У меня есть код на игре в понг, над которым я работал: Образец кода показывает, что когда мяч попадает в нижнюю часть окна, мяч сбрасывается до середины окна. То, что я пытаюсь достичь, - это то, что я хотел бы добавить код, чтобы, если мяч попал в верхнюю часть окна, мяч снова вернется в середину. Может ли кто-нибудь помочь мне с этим?Как установить положение спрайта в центр экрана
//...
// 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
Я не уверен, что я четко понимаю проблему здесь, где именно проблема и что она делает прямо сейчас, что вы не хотите, чтобы это делалось? –