treballant en el starfield
This commit is contained in:
@@ -17,6 +17,24 @@ EscenaTitol::EscenaTitol(SDLManager& sdl)
|
||||
estat_actual_(EstatTitol::INIT),
|
||||
temps_acumulat_(0.0f) {
|
||||
std::cout << "Escena Titol: Inicialitzant...\n";
|
||||
|
||||
// Crear starfield de fons
|
||||
Punt centre_pantalla{
|
||||
Defaults::Game::WIDTH / 2.0f,
|
||||
Defaults::Game::HEIGHT / 2.0f};
|
||||
|
||||
SDL_FRect area_completa{
|
||||
0, 0,
|
||||
static_cast<float>(Defaults::Game::WIDTH),
|
||||
static_cast<float>(Defaults::Game::HEIGHT)};
|
||||
|
||||
starfield_ = std::make_unique<Graphics::Starfield>(
|
||||
sdl_.obte_renderer(),
|
||||
centre_pantalla,
|
||||
area_completa,
|
||||
100, // densitat: 100 estrelles
|
||||
30.0f // velocitat base: 30 px/s
|
||||
);
|
||||
}
|
||||
|
||||
void EscenaTitol::executar() {
|
||||
@@ -76,6 +94,11 @@ void EscenaTitol::executar() {
|
||||
}
|
||||
|
||||
void EscenaTitol::actualitzar(float delta_time) {
|
||||
// Actualitzar starfield (sempre actiu)
|
||||
if (starfield_) {
|
||||
starfield_->actualitzar(delta_time);
|
||||
}
|
||||
|
||||
switch (estat_actual_) {
|
||||
case EstatTitol::INIT:
|
||||
temps_acumulat_ += delta_time;
|
||||
@@ -90,12 +113,17 @@ void EscenaTitol::actualitzar(float delta_time) {
|
||||
}
|
||||
|
||||
void EscenaTitol::dibuixar() {
|
||||
// En l'estat INIT, no dibuixar res (pantalla negra)
|
||||
// Dibuixar starfield de fons (sempre, en tots els estats)
|
||||
if (starfield_) {
|
||||
starfield_->dibuixar();
|
||||
}
|
||||
|
||||
// En l'estat INIT, només mostrar starfield (sense text)
|
||||
if (estat_actual_ == EstatTitol::INIT) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Estat MAIN: Dibuixar text de títol i copyright
|
||||
// Estat MAIN: Dibuixar text de títol i copyright (sobre el starfield)
|
||||
if (estat_actual_ == EstatTitol::MAIN) {
|
||||
// Text principal centrat (vertical i horitzontalment)
|
||||
const std::string main_text = "PRESS BUTTON TO PLAY";
|
||||
|
||||
Reference in New Issue
Block a user