[PSP] reconocimiento de botones y refresco de pantalla

Más de 1000 ofertas en los PcDays de PcComponentes
Wenassss, soy yo otra vez xD
Esta vez es para preguntar sobre el reconocimiento de botones, pero es otra cosa...
¿Cómo hago para que solo me reconozca la primera pulsación de un botón?
Ahora mismo uso esto:
if (controles.Buttons & PSP_CTRL_UP) {
Pero claro, si mantengo arriba pulsado, pues me está refrescando la pantalla todo el rato... ¿cómo se puede hacer para que solo reconozca una, como en los menús?

La otra... el refresco de pantalla se nota bastante, y en otras aplicaciones que he visto no se nota... ¿como va eso?

Gracias a todos ^^
Pyronhell escribió:La otra... el refresco de pantalla se nota bastante, y en otras aplicaciones que he visto no se nota... ¿como va eso?

Si a lo q t refieres es a un flickeo molesto, prueba a poner antes dl cambio dl buffer (flip), un sceDisplayWaitVblankStart(). La opcion mas "optima" seria no actualizar la pantalla hasta q no s produzca un cambio (d salida, no interno, obviamente xDD)
A lo otro m da pereza contestarte xD, ya q hay muxas maneras. Yo x ejemplo, suelo emplear una variable donde guarde si esta pulsado el boton o no (1/0), y solo realice la accion si es = a 0, una vez hexa la pones en 1. Y hasta q despues d la comprobacion d las teclas veas q no hay ninguna pulsada (puedes usar un "else"), pues la pones a 0 d nuevo.

P.D.: Queremos subforo d programaciooon!!!
Salu2
BlackSith escribió:Si a lo q t refieres es a un flickeo molesto, prueba a poner antes dl cambio dl buffer (flip), un sceDisplayWaitVblankStart(). La opcion mas "optima" seria no actualizar la pantalla hasta q no s produzca un cambio (d salida, no interno, obviamente xDD)
A lo otro m da pereza contestarte xD, ya q hay muxas maneras. Yo x ejemplo, suelo emplear una variable donde guarde si esta pulsado el boton o no (1/0), y solo realice la accion si es = a 0, una vez hexa la pones en 1. Y hasta q despues d la comprobacion d las teclas veas q no hay ninguna pulsada (puedes usar un "else"), pues la pones a 0 d nuevo.

P.D.: Queremos subforo d programaciooon!!!
Salu2


un 10! ;)
BlackSith escribió:Si a lo q t refieres es a un flickeo molesto, prueba a poner antes dl cambio dl buffer (flip), un sceDisplayWaitVblankStart(). La opcion mas "optima" seria no actualizar la pantalla hasta q no s produzca un cambio (d salida, no interno, obviamente xDD)
A lo otro m da pereza contestarte xD, ya q hay muxas maneras. Yo x ejemplo, suelo emplear una variable donde guarde si esta pulsado el boton o no (1/0), y solo realice la accion si es = a 0, una vez hexa la pones en 1. Y hasta q despues d la comprobacion d las teclas veas q no hay ninguna pulsada (puedes usar un "else"), pues la pones a 0 d nuevo.

P.D.: Queremos subforo d programaciooon!!!
Salu2

Voy a probar lo que me dices, y sí, solo hago un clearscreen cuando cambio algo en pantalla.

EDITADO: Dios que no me sale lo de la variable y las teclas xDDDD que triste, lo más fácil y no me sale xDD
3 respuestas