Voy al grano: vuelvo a tener problemas programando (justo hace poco vuelvo a hacerlo...)
Os dejo mi código aqui:
int main(){ PA_Init(); // iniziamos PAlib PA_InitVBL(); // Iniziamos VBL PA_InitText(1,0); PA_LoadBackground(0,0,&Nada); while(1){ if (Stylus.Newpress && PA_StylusInZone(4,4,114,81)) {PA_OutputSimpleText(1,2,5,"Verde"); PA_LoadBackground(0,1,&Verde);} if (Stylus.Newpress && PA_StylusInZone(4,109,114,184)) {PA_OutputSimpleText(1,2,5,"Amarillo"); PA_LoadBackground(0,2,&Amarillo);} if (Stylus.Newpress && PA_StylusInZone(140,4,250,81)) {PA_OutputSimpleText(1,2,5,"Rojo"); PA_LoadBackground(0,3,&Rojo);} if (Stylus.Newpress && PA_StylusInZone(140,109,250,184)) {PA_OutputSimpleText(1,2,5,"Azul"); PA_LoadBackground(0,4,&Azul);} if (Stylus.Released) {PA_LoadBackground(0,0,&Nada); PA_OutputSimpleText(1,2,5," ");} } // Infinite loop to keep the program running while(true){ PA_WaitForVBL(); } }
I la descarga rápidísima aqui. El problema es que cuando le doy al azul el emulador se vuelve loco (sí, lo he probado con la DS también). Aparte de que no me va muy fino...
Salu2 y a ver si alguien me hecha una mano.
gracias a todos, ya está resuelto
el problema era que no había metido ningún pa_waitforloquesea en los if's. también estaba lo de los background que no tenía constancia, y lo he solucionado metiendo fondos de 16 bits que van de maravilla
y lo del final, pues no sé porque puse ese, en fin, ya lo he cambiado
salu2!!
Tal y como te dice
best_guitar, has hecho algo raro con el bucle. Por lo que yo veo, en un while sin posibilidad de salir (ni breaks, ni modo de modificar el argumento del bucle), y en otro que está fuera el PA_WaitForVBL();
Aunque te hayan corregido lo del fondo, mira eso.
Salu2
Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.
tal vez sea otra cosa, pero
tal vez sea otra cosa, pero lo que veo es que nunca utilizas el PA_WaitForVBL(), ya que esta en otro bucle. Ten en cuenta, que como dice Draco, si tus fondos son de 16bits puede que consumas mucha memoria y no te quepan.
Saluds!
Visita mi blog. Zenit + 5 will win
Bueno
Por lo que yo veo, veo que cargas en total 5 backgrounds, cuando la DS aguanta 4 (al menos, que yo sepa :S).
Y no se si es que es asi, pero al pulsar uno de los botones de la pantalla con el stylus, el bg se carga por debajo, y no encima.
Street Fighter X Tekken Mobile CMV 2
no creo...
en Cutre Frontón cargaba millones de Bg's y iba perfectamente...
No, no me refiero al numero total xDDD
Sino que no se puede cargar en una DS (por lo que yo se) un bg con el numero 4, porque no existe, solo admite 0, 1, 2, 3. Sino, puedes probar en un proyecto a parte cargar un bg con el numero 4, lo normal es que no lo cargue o lo cargue mal.
Street Fighter X Tekken Mobile CMV 2
eso va a ser... vaya fallal!
eso va a ser... vaya fallal! ni lo habia visto.
es eso
los bg's van del 0 al 3, eso explicaria perfectamente el porke solo te pasa con el azul, que es el unico ke se sale de ese rango ^^