Se puede definir la posición y tamaño del marcador
This commit is contained in:
@@ -246,6 +246,8 @@ void Game::init()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Marcador
|
||||||
|
scoreboard->setPos({0, 20, 256, 32});
|
||||||
if (difficulty == DIFFICULTY_NORMAL)
|
if (difficulty == DIFFICULTY_NORMAL)
|
||||||
{
|
{
|
||||||
scoreboard->setColor({46, 63, 71});
|
scoreboard->setColor({46, 63, 71});
|
||||||
|
|||||||
@@ -25,6 +25,14 @@ Scoreboard::Scoreboard(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lan
|
|||||||
power = 0;
|
power = 0;
|
||||||
hiScoreName = "";
|
hiScoreName = "";
|
||||||
color = {0, 0, 0};
|
color = {0, 0, 0};
|
||||||
|
rect = {0, 0, 0, 0};
|
||||||
|
offset1 = 0;
|
||||||
|
offset2 = 0;
|
||||||
|
offset3 = 0;
|
||||||
|
offset4 = 0;
|
||||||
|
offsetLeft = 0;
|
||||||
|
offsetRight = 0;
|
||||||
|
offsetCenterX = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Scoreboard::~Scoreboard()
|
Scoreboard::~Scoreboard()
|
||||||
@@ -81,22 +89,12 @@ void Scoreboard::render()
|
|||||||
{
|
{
|
||||||
// Dibuja el fondo del marcador
|
// Dibuja el fondo del marcador
|
||||||
SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, 255);
|
SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, 255);
|
||||||
SDL_Rect rect = {0, 160, 256, 32};
|
|
||||||
SDL_RenderFillRect(renderer, &rect);
|
SDL_RenderFillRect(renderer, &rect);
|
||||||
|
|
||||||
// Dibuja la linea que separa el marcador de la zona de juego
|
// Dibuja la linea que separa el marcador de la zona de juego
|
||||||
SDL_SetRenderDrawColor(renderer, 13, 26, 43, 255);
|
SDL_SetRenderDrawColor(renderer, 13, 26, 43, 255);
|
||||||
SDL_RenderDrawLine(renderer, 0, 160, 255, 160);
|
SDL_RenderDrawLine(renderer, 0, 160, 255, 160);
|
||||||
|
|
||||||
// Anclas para los elementos
|
|
||||||
const int offset1 = 162;
|
|
||||||
const int offset2 = offset1 + 7;
|
|
||||||
const int offset3 = offset2 + 7;
|
|
||||||
const int offset4 = offset3 + 7;
|
|
||||||
|
|
||||||
const int offsetLeft = PLAY_AREA_LEFT + 45;
|
|
||||||
const int offsetRight = PLAY_AREA_RIGHT - 45;
|
|
||||||
|
|
||||||
// PLAYER1 - SCORE
|
// PLAYER1 - SCORE
|
||||||
textScoreBoard->writeCentered(offsetLeft, offset1, lang->getText(53));
|
textScoreBoard->writeCentered(offsetLeft, offset1, lang->getText(53));
|
||||||
textScoreBoard->writeCentered(offsetLeft, offset2, updateScoreText(score1));
|
textScoreBoard->writeCentered(offsetLeft, offset2, updateScoreText(score1));
|
||||||
@@ -114,7 +112,7 @@ void Scoreboard::render()
|
|||||||
textScoreBoard->writeCentered(offsetRight, offset4, std::to_string(mult2).substr(0, 3));
|
textScoreBoard->writeCentered(offsetRight, offset4, std::to_string(mult2).substr(0, 3));
|
||||||
|
|
||||||
// STAGE
|
// STAGE
|
||||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset1, lang->getText(57) + std::to_string(stage));
|
textScoreBoard->writeCentered(offsetCenterX, offset1, lang->getText(57) + std::to_string(stage));
|
||||||
|
|
||||||
// POWERMETER
|
// POWERMETER
|
||||||
powerMeterSprite->setPosY(offset2);
|
powerMeterSprite->setPosY(offset2);
|
||||||
@@ -124,8 +122,8 @@ void Scoreboard::render()
|
|||||||
powerMeterSprite->render();
|
powerMeterSprite->render();
|
||||||
|
|
||||||
// HI-SCORE
|
// HI-SCORE
|
||||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset3, lang->getText(56));
|
textScoreBoard->writeCentered(offsetCenterX, offset3, lang->getText(56));
|
||||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, hiScoreName + updateScoreText(hiScore));
|
textScoreBoard->writeCentered(offsetCenterX, offset4, hiScoreName + updateScoreText(hiScore));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scoreboard::setScore1(int score)
|
void Scoreboard::setScore1(int score)
|
||||||
@@ -172,3 +170,18 @@ void Scoreboard::setColor(color_t color)
|
|||||||
{
|
{
|
||||||
this->color = color;
|
this->color = color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Scoreboard::setPos(SDL_Rect rect)
|
||||||
|
{
|
||||||
|
this->rect = rect;
|
||||||
|
|
||||||
|
// Anclas para los elementos
|
||||||
|
offset1 = rect.y + 2;
|
||||||
|
offset2 = offset1 + 7;
|
||||||
|
offset3 = offset2 + 7;
|
||||||
|
offset4 = offset3 + 7;
|
||||||
|
|
||||||
|
offsetLeft = rect.x + 45;
|
||||||
|
offsetRight = rect.x + rect.w - 45;
|
||||||
|
offsetCenterX = rect.x + (rect.w / 2);
|
||||||
|
}
|
||||||
@@ -42,6 +42,14 @@ private:
|
|||||||
float power; // Poder actual de la fase
|
float power; // Poder actual de la fase
|
||||||
std::string hiScoreName; // Nombre del jugador con la máxima puntuación
|
std::string hiScoreName; // Nombre del jugador con la máxima puntuación
|
||||||
color_t color; // Color del marcador
|
color_t color; // Color del marcador
|
||||||
|
SDL_Rect rect; // Posición y dimensiones del marcador
|
||||||
|
int offset1; // Anclas para los elementos del marcador
|
||||||
|
int offset2; // Anclas para los elementos del marcador
|
||||||
|
int offset3; // Anclas para los elementos del marcador
|
||||||
|
int offset4; // Anclas para los elementos del marcador
|
||||||
|
int offsetLeft; // Anclas para los elementos del marcador
|
||||||
|
int offsetRight; // Anclas para los elementos del marcador
|
||||||
|
int offsetCenterX; // Anclas para los elementos del marcador
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
@@ -62,6 +70,7 @@ public:
|
|||||||
void setPower(float power);
|
void setPower(float power);
|
||||||
void setHiScoreName(std::string name);
|
void setHiScoreName(std::string name);
|
||||||
void setColor(color_t color);
|
void setColor(color_t color);
|
||||||
|
void setPos(SDL_Rect rect);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Transforma un valor numérico en una cadena de 6 cifras
|
// Transforma un valor numérico en una cadena de 6 cifras
|
||||||
|
|||||||
Reference in New Issue
Block a user