Hola, tengo una duda en Oslib, pero posiblemente solucionable para aquellos de sepan manejar C/C++
Es lo siguiente:
CONDICIONAL (Si pulso X entre esas coordenadas hara lo que este en Prueba();
if ((osl_keys->held.cross) && (cursor->x >= 27) && (cursor->x <= 111) && (cursor->y >= 12) && (cursor->y <= 88)) { Prueba(); }
PRUEBA()
void Prueba() { oslClearScreen(0x000000); pagina = oslLoadImageFile("img/Fondo.png", OSL_IN_RAM, OSL_PF_8888); oslDrawImage(pagina); oslDrawImage(barra); if ((cursor->x >= 4) && (cursor->x <= 36) && (cursor->y >= 3) && (cursor->y <= 18)) { oslDrawImageXY(sombra1, 4, 3); } if ((cursor->x >= 133) && (cursor->x <= 204) && (cursor->y >= 3) && (cursor->y <= 18)) { oslDrawImageXY(sombra3, 133, 3); } if ((cursor->x >= 54) && (cursor->x <= 114) && (cursor->y >= 3) && (cursor->y <= 18)) { oslDrawImageXY(sombra2, 54, 3); } if ((osl_keys->held.cross) && (cursor->x >= 4) && (cursor->x <= 36) && (cursor->y >= 3) && (cursor->y <= 18)) { main(); } }
No se si estoy cegato o algo y no veo el fallo pero cuando pulso X entre las coordenadas puestas en el Condicional, parpadea el LED de carga en MS pero no pasa nada.
PD: He probado también con oslCls(); y sin limpiar pantalla también.
Sígueme en Twitter: @Aitor_db
MAIN.C
Perdonen el desornen, pero esque al ordenarlo me empezaba a dar fallos.
Cuando le pongo un while o un if (bmenu=0) ya no me carga nada.
Sígueme en Twitter: @Aitor_db
Tenia rato que no no veia
Tenia rato que no no veia tanto code en tan pokitas acciones, yo no uso oslib pero veo que tu problema son con las pulsaciones y al mover el cursor y mira esi yo pongo un cursor que utilisa tanto el analogo como el digital.
Que que libreria uso? pues la que viene con el pspsdk esta.
http://psp.jim.sh/pspsdk-doc/group__Ctrl.html
si te fijas teienes que activar el analogo primero.
y creo que ya sabes como agregar la libreria incluso hay tutos aqui que hice.
#include <psprtc.h>
espero y despues de esto ya no tengas dudas saludos y suerte con el team ;).
By Aitor
Gracias, pero el analogico lo voy a poner aparte en la selección de opciones, para que lo active quien quiera, y lo puedo hacer con OSLib.
Tendré que esperar a que se pase por aqui Klozz, que por lo que se es uno de los pocos que sabe OSLib.
PD: El problema lo tengo ahora cuando entro a Prueba(); desde el menu, entra, pero vuelve a salir automaticamente cuando dejo de pulsar X. He probado con IF, WHILE y nada :(
Sígueme en Twitter: @Aitor_db
Pues Prueba a
Pues Prueba a usar
Asi no realizara la funcion mientras no se cumpla lo del while y esa funcion se cumpliria al terminar de ejecutar la opcion que has añadido.
TEAM MEX Homebrew y desarrollo PSP
Metal TrooperV.Pre-Alpha (15%)Lua , 10% C .
Ubunshell VProof. (45%)C
RPG Magues (35%)Lua , 5% C
Android development for Xperia X8 ^^ mis roms en XDA-Developers ya que en Scenebeta no las publican xD
Xperience | MIUI Pikachu | Semc debrand engine | Froyexp | Xperience walkman mod | Android 4.0.4 CN9 Crema de nieve
-- KLOZZ
pues pon 2 while y cierra el
pues pon 2 while y cierra el primero con break.
Deja le digo a klozz que se pase por aqui.
By Aitor
¿Debería quedar algo así?
EDITO: El do ¿cómo y donde iría?
Sígueme en Twitter: @Aitor_db
uhmm ejemplo if
uhmm ejemplo
Saludos.
TEAM MEX Homebrew y desarrollo PSP
Metal TrooperV.Pre-Alpha (15%)Lua , 10% C .
Ubunshell VProof. (45%)C
RPG Magues (35%)Lua , 5% C
Android development for Xperia X8 ^^ mis roms en XDA-Developers ya que en Scenebeta no las publican xD
Xperience | MIUI Pikachu | Semc debrand engine | Froyexp | Xperience walkman mod | Android 4.0.4 CN9 Crema de nieve
-- KLOZZ
No me deja editar xD donde
No me deja editar xD donde dice funcion a realizar al presionar 1 es X
Lo mejor seria poner los
Lo mejor seria poner los movimientos de el cursor incluso la imagen en un void y usarlo en cada while(1) que tengas para mejor control , y usa debug como te dicen mas abajo asi sabras en donde esta tu error exactamente.
Depurar.
Lo más sencillo sería que añadieses salidas (exit) a diferentes trozos, para saber si llega a entrar. Por ejemplo, añadirlo al principio del Prueba para ver si entra realmente. Sin más código no se qué decirte...
Por cierto, no se porqué llamas al main main(); en el último if, pero eso es muy peligroso por el tema de la recursión infinita y tal. Bajo ningún concepto deberías hacer eso siempre que lo puedas evitar. Y creeme, SIEMPRE se puede evitar usando funciones.
Saludos
Dennis Ritchie. Padre de C y cocreador de UNIX.
R.I.P.
By Aitor
Lo del main(); es para que salga de la historia y "reinicie" el programa. SI hay algo en el SDK o con OSlib dimelo please.
Uhmmm estas seguro que el
Uhmmm estas seguro que el cursor se encuentra sobre esas coordenadas? tambien debes revizar que la imagen no este dañada igual si pones el main completo podria ayudarte mejor.
TEAM MEX Homebrew y desarrollo PSP
Metal TrooperV.Pre-Alpha (15%)Lua , 10% C .
Ubunshell VProof. (45%)C
RPG Magues (35%)Lua , 5% C
Android development for Xperia X8 ^^ mis roms en XDA-Developers ya que en Scenebeta no las publican xD
Xperience | MIUI Pikachu | Semc debrand engine | Froyexp | Xperience walkman mod | Android 4.0.4 CN9 Crema de nieve
-- KLOZZ
By Aitor
Lo de las coordenadas estoy seguro, porque por ejemplo pongo otra función como osl_exit(); y sirve.
De todas formas, no se porque con Oslib en cuanto hago muchas funciones fuera del main empieza a darme fallos.
PD: EN un momento te paso el code por MP.
Sígueme en Twitter: @Aitor_db
No estoy muy seguro, pero
No estoy muy seguro, pero creo que es porque los condicionales no están en un loop y así no puede comprobar a cada pasada la condición, intenta metiendo tus condicionales en un loop infinito.
By Aitor
OK, gracias, pero ya esta. Esta noche subo el main entero.
Edito: En realidad la parte de la condicional deberia ir en un while para que solo pasara si esta en el menu.
Sígueme en Twitter: @Aitor_db
Esque necesitas dos whiles,
Esque necesitas dos whiles, uno que compruebe la condición de que si presionas X y estas en esas coordenadas ejecute prueba(), y el otro seria uno solo que lleve todas las condiciones de prueba().
Siento no poder dejar el code, estoy desde el psp.
By Aitor
Pero para eso no hace falta un while, con if valdría.