Hola, tal i como dice el titulo, lo que quiero hacer ees crear un menú con botones. El problema está en que no se que poner, por que si creo un menú con sprites es senzillo, pero es que aveces los sprites se ven pixelados o se ben mal, asi que he optado por crear los menus con botones. Este es el codigo actual:
#include <PA9.h> // Include for PA_Lib #include "gfx/all_gfx.c" #include "gfx/all_gfx.h" u8 line = 0; void Empezar(void){ PA_OutputSimpleText(1, 0, line, "Se iniciara el Homebrew"); line++; } void Creditos(void){ PA_OutputSimpleText(1, 0, line, "Se iniciaran los creditos"); line++; } void Finalizar(void){ PA_OutputSimpleText(1, 0, line, "Se apagara la consola"); line++; } int main(int argc, char ** argv) { PA_Init(); PA_InitVBL(); PA_InitText(1, 0); PA_SetTextCol(1, 31, 0, 0); // pone color al texto, color: rojo // para activar las funciones API PA_Init8bitBg(0, 3); PAPI_Init(0); // Funciones API activadas // Crear el menu de inicio // Crear el boton PAPI_CreateButton(0, 88, 20, 59, 30, &Empezar, "Empezar", 1, 1); // Avajo la esplicacion /*PAPI_CreateButton(0, 20, 20, 32, 32, &Test, "Test", 1, 1); (0, 20, 20, 32, 32, &Test, "Test", 1, 1);+ 0= screen 20= X posicion, 20= Y posicion 32= X size 32= Y size */ // Esplicacion terminada // Boton creado // Otro boton PAPI_CreateButton(0, 88, 75, 59, 30, &Creditos, "Creditos", 1, 1); // Boton terminado //tercer boton de el menu de inicio PAPI_CreateButton(0, 88, 130, 59, 30, &Finalizar, "Finalizar", 1, 1); // Boton terminado // Menu de inicio terminado. // Bucle infinito while (1){ PAPI_CheckButton(); PA_WaitForVBL(); } return 0; }
Espero que alguien me pueda ayudar y pueda especificarme esactamente que devo poner y donde devo poner para que como minimo la primera opcion funcione. Las demas, ya me las travajaré yo solito, que sino seria demasiado senzillo, que me lo hiciera otro. Solo quiero que con los botones se cree un menú. Y ya de paso, por que si le pongo un fondo, no se visualiza?
I like:
Sobre como crear un menú con botones.
Hola.
Soy nuevo por aquí pero he visto tu post y he deicido intentar echarte un cable. Hace algún tiempo también buscaba información sobre como crear un menú. Te daré dos ideas que espero que te sirvan.
La primera, como bien dices, es el uso de sprites que hagan las veces de botones. Puedes usar una imagen de fondo y cargar los sprites sobre esta. Posteriormente solo necesitaras controlar la pulsación sobre el sprite para actuar en consecuencia. Si se ven mal estos sprites repasa cuidadosamente los pasos que has seguido para cargarlo, mostrarlo, diseñarlo, etc...
La segunda idea es definir zonas en la pantalla sobre las que se podrá interactuar. Puedes usar una imagen en la cual hayas dibujado lo que será tu botón dándole el aspecto y formas que quieras. Hecho esto debes establecer entre que coordenadas de la pantalla quedará definido este botón. Esto significa que debes saber que límites abarca este botón, si va del píxel 3 al 150 en la "x" y del 20 al 40 en la "y" etc. Un ejemplo para ilustrarlo sería algo así como:
Donde x1,x2 definen la anchura de ese botón en ese eje e y1,y2 la altura (para entendernos jeje). De este modo cuando se pulse con el stylus si se cumple alguna de las condiciones que has puesto se hará la acción que esté dentro de ese condicional. Debería estar además dentro de por ejemplo un while para que se controlen estas pulsaciones mientras te interese.
Conseguiras un mayor nivel de personalización por estos medios que usando las API, o eso pienso yo. Lo mejor es que experimentes y pruebes.
Hasta otra.
Sprites, he..
Lo de los Sprites, ya lo probé, per de vez en cuando, los sprites no se ven vien, por eso me pasé alas Funciones API, por que esas es inposible que no se vean bien. Pero gracias por la información, me acabas de dar una idea buenissima hacer un menú con funciones API y con Sprites. En cuianto lo tenga, te digo lo que he hecho, ya verás.
I like:
Si es la libreria PA_Lib
Esto que intento hacer de los botones son las Funciones API de PAlib, por cierto, si no tienes PAlib instalado, tu programas en DS? Si la respuesta es afirmativa, ¿que libreria y que compilador usas?
Es que estoy interesado en encontrar varios compiladores para DS, ademas de varios programas para crear aplicacioens en DS. Es que me gustaria encontrar alguno en castellano o alguno que sea senzillo de usar...
I like:
Bueno si en eso
no te equibocas, pero el NFlib, que mejoras tiene repecto a PAlib? Por que si se pueden poner imagenes de 16 bit de forma que pase de los 4mb pos yo me paso a NFlib. Por que en el 3º tutorial de PAlib, dice que de momento no usemos mucho las imagenes de 16 bit, por que no podemos pasarnos de los 4mb, y eso es una m----
I like:
Por dios... no uses esas
Por dios... no uses esas funciones... Es mil veces mejor crear un sprite y comprobar tu mismo si se está pulsando...
Y olvídate de encontrar otros compiladores, está el GCC que usa devkitARM y el de Nintendo. Dudo mucho que haya alguno más... Si pretendes encontrar algún programa que haga el juego por tí, olvídate. Se supone que hacer el juego es TU trabajo, y el juego no es solo las cuatro imagenes y dialogos que vayas a poner... La idea del juego no es más que el 1% del total. Intenta con el DS Game Maker... Yo no lo usaría ni loco, pero si eso de programar no está hecho para tí y aún así quieres hacer cutrejuegos, prueba con él... Eso si, no te creas que te va a ayudar demasiado...
Por dios
pero que le pasa a esta comunidad que cada vez que hablas de programas para crear aplicaciones DS siempre sale el DS GameMaker? Esque no se ni como a la gente se le ocurre usar eso, yo lo probé y bueno... ...es una m----- por que no puede hacer casi nada, es que es como si solo te permitiera poner un fondo, una trasicion un sprite y listos, a compilar. Y bueno, lo de los Sprites, ya lo se hacer, el problema es que no lo ago por que no se por que los sprites se ven como el c--- asi que me pase a los botones, por que lo que se puede hacer con sprites, tambien se podrá hacer con Botones, o bamos, eso digo yo, si me equiboco, corregidme, pero que se pueda no significa que sea senzillo, por eso cree este post.
I like:
Pues tal vez porque si
Pues tal vez porque si preguntas por otros programas, es que no tienes ni idea de C y necesitas algo mucho más fácil. Lo único así para DS es el DS GameMaker. Si supieras programar en C decentemente, ni preguntarías por otras formas de programar.
Y si se te ven mal los sprites... XD Más te vale encontrar el error, porque si no los juegos que hagas (si es que llegas a hacer algo) van a ser una soberana mierda. XD
y lo de preguntar sobre programas
es por que he probado el DS GameÇMaker, y poner las imagenes era perfecto, se veian baastante bien, pero no savia hacer nada, por eso empezé a aprender PAlib, pero si algun dia sacan una nueba version de DS GameMaker en la que las imagenes se bean igual de bien y se puedan hacer mas cosas que poner fondos, transiciones y sprites, me paso a Game Maker, por que al poner los fondos en PAlib, se ven como el P--- Cu--, y se ve que no puedo poner un fondo de 16 bits detras de los Botones. Por eso, e4stoy buscando otras formas de compilar, por que esto qde que detras de los botones, no poder poner imagenes de 16 bits, joer...
I like:
Aver No ay
ningun error, si no, al compilar me pondria que ay errores, pero algunos sprites como una animación GIF, por que se pueden poner, me salen borrosas, yo creo que es por el tamaño, pero no se...
Como dice el editor que a comentado devajo, lo mas probable es que sea un problema de el tamaño de el sprite.
I like: