Plata (o cualquiera jeje) otra preguntita, que hay que hacer para que una condición solo se cumpla si ya se ha cumplido otra con anterioridad?
Por ejemplo, he hecho que al darle a un botón (juego nuevo xD), te cuente media frase, y al darle a una flecha la otra media, pero cuando estoy en el "menu principal" donde aparece juego nuevo, si le doy a la flecha, aparece también la segunda parte de la frase. Te dejo el código por si ayuda:
// Includes
#include <PA9.h> // Include for PA_Lib
#include "gfx/all_gfx.c"
#include "gfx/all_gfx.h"
// Function: main()
int main(int argc, char ** argv)
{
PA_Init(); // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_LoadSpritePal(0, 0, (void*)sprite0_Pal);
PA_InitText(0, 1);
PA_EasyBgLoad(0, 3, bg0);
PA_CreateSprite(0, 1, (void*)nuevojuego1_Sprite, OBJ_SIZE_32X32, 1, 0, 80, 40);
PA_CreateSprite(0, 2, (void*)nuevojuego2_Sprite, OBJ_SIZE_32X32, 1, 0, 112, 40);
PA_CreateSprite(0, 3, (void*)nuevojuego3_Sprite, OBJ_SIZE_32X32, 1, 0, 144, 40);
// Infinite loop to keep the program running
while (1)
{
if ((Stylus.Held) && PA_StylusInZone(80, 40, 144, 72)){
PA_DeleteSprite(0, 1);
PA_DeleteSprite(0, 2);
PA_DeleteSprite(0, 3);
PA_OutputSimpleText(0, 5, 10, "Esta es la historia...");
PA_OutputSimpleText(0, 0, 0, ">");
PA_CreateSprite(0, 4, (void*)flecha_Sprite, OBJ_SIZE_32X32, 1, 0, 224, 160);
}
if ((Stylus.Held) && PA_StylusInZone(0, 0, 10, 10)){
PA_ClearTextBg(0);
PA_OutputSimpleText(0, 5, 10, "...de un chaval listo");
}
if ((Stylus.Held) && PA_StylusInZone(224, 160, 256, 192)){
PA_DeleteSprite(0, 4);
PA_ClearTextBg(0);
PA_CreateSprite(0, 1, (void*)nuevojuego1_Sprite, OBJ_SIZE_32X32, 1, 0, 80, 40);
PA_CreateSprite(0, 2, (void*)nuevojuego2_Sprite, OBJ_SIZE_32X32, 1, 0, 112, 40);
PA_CreateSprite(0, 3, (void*)nuevojuego3_Sprite, OBJ_SIZE_32X32, 1, 0, 144, 40);
}
PA_WaitForVBL();
}
return 0;
} // End of main()
Bueno, muchisimas gracias