diff --git a/data/gfx/item_points2_gavina.png b/data/gfx/item_points2_gavina.png index 3da2ff2..7699909 100644 Binary files a/data/gfx/item_points2_gavina.png and b/data/gfx/item_points2_gavina.png differ diff --git a/source/instructions.cpp b/source/instructions.cpp index 6abc861..95de9d9 100644 --- a/source/instructions.cpp +++ b/source/instructions.cpp @@ -35,6 +35,7 @@ Instructions::Instructions(SDL_Renderer *renderer, Screen *screen, Asset *asset, counterEnd = 700; view = {0, 0, param->gameWidth, param->gameHeight}; spritePos = {0, 0}; + itemSize = 20; // Inicializa objetos fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b); @@ -95,7 +96,6 @@ void Instructions::iniSprites() itemTextures.push_back(item5); // Inicializa los sprites - const int itemSize = 16; const int desp = spritePos.y - 4; for (int i = 0; i < (int)itemTextures.size(); ++i) @@ -109,32 +109,35 @@ void Instructions::iniSprites() // Actualiza los sprites void Instructions::updateSprites() { - SDL_Rect srcRect = {0, 0, 16, 16}; + SDL_Rect srcRect = {0, 0, itemSize, itemSize}; // Disquito - srcRect.y = 16 * (((counter + 12) / 36) % 2); + srcRect.y = itemSize * (((counter + 12) / 36) % 2); sprites[0]->setSpriteClip(srcRect); // Gavineixon - srcRect.y = 16 * (((counter + 9) / 36) % 2); + srcRect.y = itemSize * (((counter + 9) / 36) % 2); sprites[1]->setSpriteClip(srcRect); // Pacmar - srcRect.y = 16 * (((counter + 6) / 36) % 2); + srcRect.y = itemSize * (((counter + 6) / 36) % 2); sprites[2]->setSpriteClip(srcRect); // Time Stopper - srcRect.y = 16 * (((counter + 3) / 36) % 2); + srcRect.y = itemSize * (((counter + 3) / 36) % 2); sprites[3]->setSpriteClip(srcRect); // Coffee - srcRect.y = 16 * (((counter + 0) / 36) % 2); + srcRect.y = itemSize * (((counter + 0) / 36) % 2); sprites[4]->setSpriteClip(srcRect); } // Rellena la textura de texto void Instructions::fillTexture() { + const int despX = itemSize + 8; + const int despY = (itemSize - text->getCharacterSize() / 2); + // Modifica el renderizador para pintar en la textura SDL_Texture *temp = SDL_GetRenderTarget(renderer); SDL_SetRenderTarget(renderer, texture); @@ -152,7 +155,7 @@ void Instructions::fillTexture() const int spacePostHeader = 20; const int spacePreHeader = 28; const int spaceBetweenLines = text->getCharacterSize() * 1.5f; - const int spaceBetweenItemLines = 18; + const int spaceBetweenItemLines = itemSize + 2; const int spaceNewParagraph = spaceBetweenLines * 0.5f; const int size = (numLines * spaceBetweenLines) + (numItemLines * spaceBetweenItemLines) + (numPostHeaders * spacePostHeader) + (numPreHeaders * spacePreHeader) + (spaceNewParagraph); @@ -165,12 +168,7 @@ void Instructions::fillTexture() const int l = text->lenght(lang->getText(i)); lenght = l > lenght ? l : lenght; } - const int anchorItem = (param->gameWidth - (lenght + 24)) / 2; - - // BORRAR ESTO - // SDL_SetRenderDrawColor(renderer, 255, 255, 255, 32); - // SDL_Rect rect = {10, firstLine, param->gameWidth - 20, size}; - // SDL_RenderFillRect(renderer, &rect); + const int anchorItem = (param->gameWidth - (lenght + despX)) / 2; // Escribe el texto de las instrucciones text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, firstLine, lang->getText(11), 1, orangeColor, 1, shdwTxtColor); @@ -186,11 +184,11 @@ void Instructions::fillTexture() text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, anchor2, lang->getText(16), 1, orangeColor, 1, shdwTxtColor); const int anchor3 = anchor2 + spacePostHeader; - text->writeShadowed(anchorItem + 24, anchor3 + spaceBetweenItemLines * 0, lang->getText(17), shdwTxtColor); - text->writeShadowed(anchorItem + 24, anchor3 + spaceBetweenItemLines * 1, lang->getText(18), shdwTxtColor); - text->writeShadowed(anchorItem + 24, anchor3 + spaceBetweenItemLines * 2, lang->getText(19), shdwTxtColor); - text->writeShadowed(anchorItem + 24, anchor3 + spaceBetweenItemLines * 3, lang->getText(20), shdwTxtColor); - text->writeShadowed(anchorItem + 24, anchor3 + spaceBetweenItemLines * 4, lang->getText(21), shdwTxtColor); + text->writeShadowed(anchorItem + despX, despY + anchor3 + spaceBetweenItemLines * 0, lang->getText(17), shdwTxtColor); + text->writeShadowed(anchorItem + despX, despY + anchor3 + spaceBetweenItemLines * 1, lang->getText(18), shdwTxtColor); + text->writeShadowed(anchorItem + despX, despY + anchor3 + spaceBetweenItemLines * 2, lang->getText(19), shdwTxtColor); + text->writeShadowed(anchorItem + despX, despY + anchor3 + spaceBetweenItemLines * 3, lang->getText(20), shdwTxtColor); + text->writeShadowed(anchorItem + despX, despY + anchor3 + spaceBetweenItemLines * 4, lang->getText(21), shdwTxtColor); // Deja el renderizador como estaba SDL_SetRenderTarget(renderer, temp); diff --git a/source/instructions.h b/source/instructions.h index 93c6b38..c0f59c9 100644 --- a/source/instructions.h +++ b/source/instructions.h @@ -44,6 +44,7 @@ private: Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa SDL_Rect view; // Vista del backbuffer que se va amostrar por pantalla SDL_Point spritePos; // Posición del primer sprite + int itemSize; // Tamaño de los items // Actualiza las variables void update();