Witam serdecznie wszystkich użytkowników!
Podczas pisania gry 2D w SFML natknąłem się na następujący problem:
W grze kamera porusza się razem w graczem(gracz jest wyśrodkowany). W momencie gdy hp <= 0, gra zmienia GameState = GAME_OVER. I tu leży problem - jak prawidłowo ustawić żeby napis "GAME OVER" wyświetlał się zawsze na środku okno.
Próbowałem robić to tak:
case(GAME_OVER):
while(window.pollEvent(event))
{
if(event.type == sf::Event::Closed)
{
gameState = EXIT;
window.close();
}
else if(event.type == sf::Event::KeyPressed && sf::Keyboard::Space)
{
gameState = MAIN_MENU;
}
}
window.clear();
//music.stop();
//game over
tekst6.text.setPosition(gracz1.sprite.getPosition().x -200 , gracz1.sprite.getPosition().y - 150);
tekst6.text.setString("GAME OVER :(");
window.draw(tekst6.text);
window.display();
break;
}
Niestety nie działa. Może mógłby ktoś podpowiedzieć jak zrobić to w prawidłowy sposób?