feat(starfield): capa parallax al fons del playfield amb tint blanc-cyan

This commit is contained in:
2026-05-22 19:46:57 +02:00
parent 88b002b277
commit 1db7368c9f
6 changed files with 248 additions and 0 deletions
+11
View File
@@ -30,6 +30,7 @@ GameScene::GameScene(SDLManager& sdl, SceneContext& context)
floating_score_manager_(sdl.getRenderer()),
trail_manager_(sdl.getRenderer()),
text_(sdl.getRenderer()),
starfield_parallax_(sdl.getRenderer()),
playfield_(sdl.getRenderer()),
border_(sdl.getRenderer()) {
// Recuperar configuración de match des del context
@@ -213,6 +214,9 @@ void GameScene::stepPhysics(float delta_time) {
bullet.postUpdate(delta_time);
}
trail_manager_.update(delta_time, ships_);
// De moment world_velocity = {0, 0} → estrelles quietes; al ser-hi l'estat
// del wraparound es resol normalment quan activem el moviment.
starfield_parallax_.update(delta_time, Vec2{.x = 0.0F, .y = 0.0F});
playfield_.update(delta_time);
border_.update(delta_time);
@@ -569,6 +573,7 @@ void GameScene::drawActiveShipsAlive() const {
}
void GameScene::drawContinueState() {
starfield_parallax_.draw();
border_.draw();
drawEnemies();
drawBullets();
@@ -580,6 +585,7 @@ void GameScene::drawContinueState() {
}
void GameScene::drawGameOverState() {
starfield_parallax_.draw();
border_.draw();
drawEnemies();
drawBullets();
@@ -625,6 +631,8 @@ void GameScene::drawInitHudState() {
Defaults::Game::INIT_HUD_SHIP2_RATIO_INIT,
Defaults::Game::INIT_HUD_SHIP2_RATIO_END);
// Capa de fons més profunda: estrelles 2D (apareixen senceres des del frame 0).
starfield_parallax_.draw();
// Graella de fons al darrere (timer intern propi, cobreix tot l'INIT_HUD).
playfield_.draw();
@@ -650,6 +658,7 @@ void GameScene::drawInitHudState() {
}
void GameScene::drawLevelStartState() {
starfield_parallax_.draw();
playfield_.draw();
border_.draw();
trail_manager_.draw();
@@ -663,6 +672,7 @@ void GameScene::drawLevelStartState() {
}
void GameScene::drawPlayingState() {
starfield_parallax_.draw();
playfield_.draw();
border_.draw();
trail_manager_.draw();
@@ -676,6 +686,7 @@ void GameScene::drawPlayingState() {
}
void GameScene::drawLevelCompletedState() {
starfield_parallax_.draw();
playfield_.draw();
border_.draw();
trail_manager_.draw();