Variables:
int marcador=20; int marcador1=20;
Código:
int room1 (void){ PA_Init(); PA_InitVBL(); PA_InitText(0, 1); PA_LoadSpritePal(0, 0, (void*)x_Pal); PA_EasyBgLoad(0, 3, bgabajo); PA_EasyBgLoad(1, 0, bgarriba); PA_CreateSprite(0, 7,(void*)x_Sprite, OBJ_SIZE_32X32,1, 0, 47, 35); PA_CreateSprite(0, 8,(void*)x_Sprite, OBJ_SIZE_32X32,1, 0, 163, 35); PA_CreateSprite(0, 9,(void*)x_Sprite, OBJ_SIZE_32X32,1, 0, 47, 111); PA_CreateSprite(0, 10,(void*)x_Sprite, OBJ_SIZE_32X32,1, 0, 163, 111); while (1){ PA_SetTextCol(0, 0, 0, 0); PA_OutputText(0, 7, 11, "%d", marcador); PA_OutputText(0, 21, 11, "%d", marcador1); if ((PA_SpriteTouched(7)) && (Stylus.Newpress)){ PA_OutputText(0, 7, 11, " ", marcador); ++marcador; } if ((PA_SpriteTouched(8)) && (Stylus.Newpress)){ PA_OutputText(0, 21, 11, " ", marcador1); ++marcador1; } if ((PA_SpriteTouched(9)) && (Stylus.Newpress)){ PA_OutputText(0, 7, 11, " ", marcador); --marcador; } if ((PA_SpriteTouched(10)) && (Stylus.Newpress)){ PA_OutputText(0, 21, 11, " ", marcador1); --marcador1; } if (Pad.Newpress.Start){ PA_ResetSpriteSys(); room8(); } PA_WaitForVBL(); } return 0; } // End of room1()
Solución:
Gracias a Aguilera lo logré solucionar pongo la solución más arriba por si a alguien le sirve.Bye
si he entendido bien...
tienes dos opciones
esto: PA_OutputText(0, 7, 11, "%02d", marcador);
o esto: ++marcador; PA_OutputText(0, 7, 11, " ", marcador);
con lo primero siempre imprime dos digitos, 01, 02, 03, etc... (%03d tres digitos 001,002...045... y asi sucesivamente)
y con lo segundo borras lo anteriormente escrito imprimiendo dos espacios encima cada vez ke sumas o restas, de esta manera el 1 seria 1 y no 01
tu eliges ^^
Okk muchísimas gracias me
Okk muchísimas gracias me sirvió usé la segunda opción que me dijiste ya que quedaba mejor, yo también había pensado algo parecido pero no me salió. Actualizo con la solución por si a alguien le sirve en el futuro Salu2. Te dejo el post del homebrew por si lo quieres probar para ver en que me has ayudado Salu2TS.