S'il n'y a pas de joueurs, laisser la caméra au centre du niveau
This commit is contained in:
parent
61a0122a01
commit
b175b31643
13
src/game.cpp
13
src/game.cpp
|
@ -24,9 +24,8 @@ void Game::processEvent(const sf::Event& event) {
|
||||||
// appui sur espace en mode test : retour à l'éditeur
|
// appui sur espace en mode test : retour à l'éditeur
|
||||||
if (event.key.code == sf::Keyboard::Space && test_mode) {
|
if (event.key.code == sf::Keyboard::Space && test_mode) {
|
||||||
test_mode = false;
|
test_mode = false;
|
||||||
return_state = nullptr;
|
|
||||||
|
|
||||||
getManager().setState(return_state);
|
getManager().setState(return_state);
|
||||||
|
return_state = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// appui sur échap : échange entre le mode pause et normal
|
// appui sur échap : échange entre le mode pause et normal
|
||||||
|
@ -95,7 +94,15 @@ void Game::ensureCentered() {
|
||||||
}
|
}
|
||||||
|
|
||||||
sf::View camera = getCamera();
|
sf::View camera = getCamera();
|
||||||
camera.setCenter(total_position / (float) player_count);
|
|
||||||
|
if (player_count == 0) {
|
||||||
|
// on évite la division par zéro
|
||||||
|
camera.setCenter(sf::Vector2f(0, 0));
|
||||||
|
} else {
|
||||||
|
// on place la caméra à la position médiane de tous les joueurs
|
||||||
|
camera.setCenter(total_position / (float) player_count);
|
||||||
|
}
|
||||||
|
|
||||||
setCamera(camera);
|
setCamera(camera);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue