update menu.cpp

This commit is contained in:
2021-02-19 19:22:29 +01:00
parent be228c2cfa
commit 2b49e07a85
2 changed files with 42 additions and 96 deletions

View File

@@ -57,15 +57,6 @@ void Menu::init(std::string name, int x, int y, int backgroundType, LTexture *te
mSelector.despY = 0;
mSelector.moving = false;
// Sprite con los graficos del selector
//mSelectorSprite.setWidth(8);
//mSelectorSprite.setHeight(8);
//mSelectorSprite.setPosX(0);
//mSelectorSprite.setPosY(0);
//mSelectorSprite.setTexture(texture);
//mSelectorSprite.setRenderer(renderer);
//mSelectorSprite.setSpriteClip(0, 0, mSelectorSprite.getWidth(), mSelectorSprite.getHeight());
// Elementos del menu
for (int i = 0; i < 10; i++)
{
@@ -77,9 +68,6 @@ void Menu::init(std::string name, int x, int y, int backgroundType, LTexture *te
mItem[i].hPaddingUp = 0;
mItem[i].hPaddingDown = 0;
}
// Mueve el grafico del selector al elemento seleccionado
//moveSelectorSprite(mSelector.index);
}
// Obtiene el nombre del menu
@@ -94,12 +82,6 @@ Uint8 Menu::getItemSelected()
return mItemSelected;
}
// Mueve el grafico del selector al elemento seleccionado
/*void Menu::moveSelectorSprite(int pos)
{
mSelector.rect.y = mItem[pos].y - 1;
}*/
// Actualiza la posicion y el estado del selector
void Menu::updateSelector()
{
@@ -240,11 +222,9 @@ bool Menu::checkInput(Uint8 input)
{
case INPUT_UP:
success = decreaseSelectorIndex();
//moveSelectorSprite(mSelector.index);
break;
case INPUT_DOWN:
success = increaseSelectorIndex();
//moveSelectorSprite(mSelector.index);
break;
case INPUT_ACCEPT:
mItemSelected = mSelector.index;
@@ -276,9 +256,6 @@ void Menu::render()
SDL_SetRenderDrawColor(mRenderer, mSelector.r, mSelector.g, mSelector.b, mSelector.a);
SDL_RenderFillRect(mRenderer, &mSelector.rect);
// Renderiza el sprite del selector
//mSelectorSprite.render();
// Renderitza el text
for (Uint8 i = 0; i < mTotalItems; i++)
{
@@ -313,19 +290,19 @@ void Menu::setRectSize()
}
// La anchura de la cadena más larga, mas un caracter, mas la anchura del sprite del selector
mRectBG.rect.w += (mText->getSize() * 1); // + mSelectorSprite.getWidth();
mRectBG.rect.w += (mText->getHeight() * 1); // + mSelectorSprite.getWidth();
// La altura de la suma de los items mas un caracter y menos un pixel (porque el texto en realidad es de 7 pixeles)
mRectBG.rect.h += (mText->getSize() * 1) - 1;
mRectBG.rect.h += (mText->getHeight() * 1) - 1;
// La posición X es la del menú menos la anchura del sprite del selector y menos medio caracter
mRectBG.rect.x = mPosX - (mText->getSize() / 2); // - mSelectorSprite.getWidth();
mRectBG.rect.x = mPosX - (mText->getHeight() / 2); // - mSelectorSprite.getWidth();
// La posición Y es la del menu menos la altura de medio caracter i el padding
mRectBG.rect.y = mPosY - (mText->getSize() / 2) - mVerticalPadding;
mRectBG.rect.y = mPosY - (mText->getHeight() / 2) - mVerticalPadding;
// Establecemos los valores del rectangulo del selector a partir de los valores del rectangulo de fondo
mSelector.rect.h = (mText->getSize() * 1) + 1;
mSelector.rect.h = (mText->getHeight() * 1) + 1;
mSelector.rect.w = mRectBG.rect.w;
mSelector.rect.x = mRectBG.rect.x;
}
@@ -402,9 +379,6 @@ void Menu::centerMenuElements()
//mItem[i].x = (mCenter - ((mText->lenght(mItem[i].label, 0)) / 2));
mItem[i].x = (mCenter - (mItem[i].w / 2));
}
// Mueve el grafico del selector al elemento seleccionado
//moveSelectorSprite(mSelector.index);
}
// Añade un item al menu
@@ -415,7 +389,7 @@ void Menu::addItem(std::string text, const Uint8 hPaddingUp, const Uint8 hPaddin
{
mItem[mTotalItems].label = text;
mItem[mTotalItems].w = mText->lenght(mItem[mTotalItems].label, 0);
mItem[mTotalItems].h = mText->getSize() + (mVerticalPadding * 2);
mItem[mTotalItems].h = mText->getHeight() + (mVerticalPadding * 2);
mItem[mTotalItems].x = mPosX;
mItem[mTotalItems].y = mPosY;
mItem[mTotalItems].hPaddingUp = hPaddingUp;
@@ -428,7 +402,7 @@ void Menu::addItem(std::string text, const Uint8 hPaddingUp, const Uint8 hPaddin
{
mItem[mTotalItems].label = text;
mItem[mTotalItems].w = mText->lenght(mItem[mTotalItems].label, 0);
mItem[mTotalItems].h = mText->getSize() + (mVerticalPadding * 2);
mItem[mTotalItems].h = mText->getHeight() + (mVerticalPadding * 2);
mItem[mTotalItems].x = mPosX;
mItem[mTotalItems].y = mItem[mTotalItems - 1].y + mItem[mTotalItems - 1].h + mItem[mTotalItems - 1].hPaddingDown;
mItem[mTotalItems].hPaddingUp = hPaddingUp;