Hola, resulta que quiero hacer un efecto de transparencia, segui la documentacion de OSLib, e intente hacerlo, pero no se que pasa, sale la imagen y pulso el boton que hace el alpha, pero no pasa nada! Lo he probado en mi PSP y en el JPCSP, pero nada, este es mi code:
// Includes #include <stdio.h> #include <stdlib.h> #include <pspsdk.h> #include <oslib/oslib.h> // Includes Juego #include "header.h" // Menu Inicial void MenuInicial(void){ // Inicia variables salir = 0; selected = -1; // Carga Iconos en RAM iconos = oslLoadImageFile("Files/personajes_jugables/iconos/iconos.png", OSL_IN_RAM, OSL_PF_8888); // Bucle de ejecucion del menu while(1){ oslReadKeys(); oslStartDrawing(); // Dibuja todo oslDrawImage(iconos); // Segun el presionado, sal a la siguiente escena if(osl_keys->pressed.circle){ selected = DROSS;break;} if(osl_keys->pressed.cross){ selected = MORDEDOR;break;} if(osl_keys->pressed.triangle){ selected = EMO;break;} if(osl_keys->pressed.square){ selected = RPERIODICO;break;} if(osl_keys->pressed.start){selected = ROBOT;break;} if(osl_keys->pressed.home){ salir = 1; break; } oslEndDrawing(); oslAudioVSync(); oslSyncFrame(); } // Efecto Alpha al salir u16 i = 0; for(i=255;i>0;i--){ oslReadKeys(); oslStartDrawing(); oslSetAlpha(OSL_FX_DEFAULT, 0); oslSetAlpha(OSL_FX_ALPHA, i); oslDrawImage(iconos); oslEndDrawing(); oslSyncFrame(); } // Elimina todo de RAM oslDeleteImage(iconos); oslSyncFrame(); }
Las cosas en mayusculas son #define definidos en el "header.h", al igual que el OSL_IMAGE* iconos, el int salir, y el int selected...
~Actualmente estudiando Ingeniería de las Tecnologías de la Telecomunicación en la Escuela de Ingenieros~
http://psp.scenebeta.com/tutorial/oslib-modulo-draw
http://psp.scenebeta.com/tutorial/oslib-modulo-draw
estas haciendo 2 efectos para la misma imagen, eso no se puede hacer.
Sigue sin funcionar...
He puesto un solo efecto, el de transparencia, y sigue sin hacer nada, consigue salir del bucle, pero nada :(
en que momento del for
indicas al programa que encienda los graficos y que los cierre?
Ese puede ser tu problema.
Ya se cual es el problema...
He iniciado los graficos antes del for (despues del while), y tenia puesto el boton Hold, asi que lo quité y ahora se hace "microsegundamente", el efecto, le pondre pequeñas pausas para que de tiempo al jugador verlo :)
~Actualmente estudiando Ingeniería de las Tecnologías de la Telecomunicación en la Escuela de Ingenieros~