User Tag List

Página 3 de 8 PrimerPrimer 1234567 ... ÚltimoÚltimo
Resultados 31 al 45 de 110

Tema: programar juegos sabiendo C pero sin saber hacer juegos

  1. #31

    Fecha de ingreso
    Nov 2003
    Ubicación
    Andorra
    Mensajes
    661
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por jjdrako
    la documentacion del SDK oficial la tengo desde hace tiempo

    otra tandada de preguntas:

    1º.- quiero sacar unas imagenes a la vez pero cada una tiene su propia paleta, esto es lo que pongo
    Código:
    h_pal=GpPaletteCreate(256,img_start2_Pal);
    GpPaletteSelect(h_pal);
    GpPaletteRealize();
    como tienen paletas diferentes una la paleta de una imagen fastidia a la otra, como se resuelve esto??

    2º.- he visto lo del gpfontmaker, hay dos documentos en la pagina de oankali, explicando como usar el programa, a la hora de exportar la fuente me hace un .c y un .h, luego que hago para usar ese tipo de texto???

    gracias (siento ser tan pesado pero me gustaria hacer algun juego)

    1º.- Yo siempre he programado en 16 bits, por lo que no tengo problemas de paleta de colores.
    En este hilo explico la forma en que normalmente se hace cuando tienes varias paletas.

    2º.- File Selector Tester y libmodplay Tester, dos programitas que hay en mi web utilizan estas fuentes.
    Los archivos generados no son más que el archivo *.OKF pasado a C como lo harías con el GPConverter para pasar una imágen.
    Actualmente el motor de fuentes solo funciona en 16 bits, aunque tengo pensado pasarlo a 8 bits (una versión capada claro).

    El típico ejemplo de C :

    Código:
    .
    .
    .
    
    #include "../include/graphics16.h"
    #include "../include/okf.h"
    #include "mi_fuente.h"
    
    .
    .
    .
    
    void GpMain (void * arg)
    {
      .
      .
      .
    
      OkfInitialize(gtSurface, &giSurface);
      OkfRegister(mi_fuente_okf);
    
      OkfPrintAt(10, 10, "Hola mundo!\n");
      while (!GpKeyGet());
     
      GpAppExit();
    }

  2. #32

    Fecha de ingreso
    Nov 2003
    Ubicación
    Andorra
    Mensajes
    661
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Vaya un despistado que estoy hecho, yo pensando en como explicárte rapidamente como utilizar las fuentes y resulta que es la librería que tengo mejor documentada. Lo encontrarás todo en mi web en la sección Docs.
    También tienes OKF Font Tester que te permitirá jugar con tu fuente directmente en la GP32 para ver si queda bien o no.
    Ese programita usa todas las capacidades del motor de fuentes.

  3. #33

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    bueno igual paso un guiñote que tengo para el ordenador para la consola, por lo que me salen dudas cada dos por tres

    no me acordaba que me respondiste lo de las imagenes hace un tiempo, a ver como me salen
    ed: lo he he hecho como me explicastes y aun asi les pone a las imagenes otra paleta de colores, tengo una imagen de 320x240 y le pone paleta de 256 y otras de 30x53 y les pone paleta de 64 y por eso aun asi se siguen viendo mal

    otra duda y creo que con esta acabo hasta que me de por si pongo en algun otro juego sonido he puesto un icono para el juego (BMP 32x32 de obits), pero se me ve de culo en la consola con mogollon de colorines, como se tiene que hacer el icono?? tiene que ser de menos de 8bits??
    Última edición por jjdrako; 22/07/2005 a las 18:33

  4. #34

    Fecha de ingreso
    Nov 2003
    Ubicación
    Andorra
    Mensajes
    661
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Para el icono necesitas la paleta de colores por defecto de la GP32.
    Aquí la tienes. Con el Photoshop, tienes que ir a Imagen/Modo/Tabla de colores/Cargar...

    Tienes que preparar una sola imagen con todos los dibujos que puedas ver a la vez en la pantalla.
    Una vez hecho esto, lo pasas a 8 bits para que te calcule la paleta de colores y guardas el BMP resultante.
    Una vez hecho esto, separas cada dibujo (o no los separas, como quieras) y los guardas en BMPs distintos. En principio todos tendran la misma paleta de colores.

    Oankali
    Archivos adjuntados Archivos adjuntados

  5. #35

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    ya esta solucionado lo de las imagenes, lo que hacia era que una vez juntos luego al separarlos tambien lo hacia desde photoshop y no se porque les ponia una paleta diferente, lo que he hecho es separarlos desde el paint y entonces si que les ha puesto la misma paleta de colores a todas las imagenes

    gracias oankali

    a ver si puedo hacer el juego de cartas, ademas me vendra bien esas librerias para usar c++ espero que funcione

  6. #36

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    joer el que no hace nada no tiene ningun problema y el que se pone los tiene todos

    a ver esto de los colores no lo llevo muy bien me parece, un ejemplo con texto:
    Código:
    GpTextOut(NULL, &gpDraw[nflip], 40, 5, "Pulsa Start!!!", 0xfd);
    el 0x... es el color en hexadecimal, no??? alguien sabe como averiguar el valor de un color?? y porque ponga el valor que ponga me escribe siempre en negro???

    se me olvidaba, uso el tick para que haga una especie de movimiento poniendo imagenes en cada tiempo, pero empieza como a toda pastilla y luego es cuando hace caso al tiempo qe le he dicho que espere a poner, como se soluciona esto o hay otra manera para hacer esas especies de animaciones??
    Última edición por jjdrako; 23/07/2005 a las 10:01

  7. #37

    Fecha de ingreso
    May 2005
    Mensajes
    444
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por jjdrako
    joer el que no hace nada no tiene ningun problema y el que se pone los tiene todos

    a ver esto de los colores no lo llevo muy bien me parece, un ejemplo con texto:
    Código:
    GpTextOut(NULL, &gpDraw[nflip], 40, 5, "Pulsa Start!!!", 0xfd);
    el 0x... es el color en hexadecimal, no??? alguien sabe como averiguar el valor de un color?? y porque ponga el valor que ponga me escribe siempre en negro???

    se me olvidaba, uso el tick para que haga una especie de movimiento poniendo imagenes en cada tiempo, pero empieza como a toda pastilla y luego es cuando hace caso al tiempo qe le he dicho que espere a poner, como se soluciona esto o hay otra manera para hacer esas especies de animaciones??

    Hola

    Primero comprueba si haces las cosas a 16b o 8b por que dependiendo debes utilizar GpTextOut o GpTextOut16


    y para saber el valor de un color puedes utilizar esta "macro"

    #define RGB(Red, Green, Blue) (((unsigned int) ((Red) << 11)) + \
    ((unsigned int) ((Green) << 6)) + \
    ((unsigned int) ((Blue) << 1)))


    y despues pones algo asi

    Código:
    GpTextOut16(NULL, &gpDraw[nflip], 40, 5, "Pulsa Start!!!", RGB(255,0,0));
    y obtendrias el rojo, supongo que conoces como funciona lo del RGB (Red,Green,Blue) asi que no me enrrollo más.

    Saludillos,
    The_Goulin

  8. #38

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    gracias por el define the_goulin,pues lo estoy haciendo con 8b y lo he probado pero colorea como le da la gana, eso solo funciona para 16b???

    con el 16b lo je probado y ???? seguro es esa numeracion que me has puesto? porque le pongo una numeracion y el color resultante es totalmente diferente a la de cualquier programa de dibujo
    Última edición por jjdrako; 23/07/2005 a las 17:25

  9. #39

    Fecha de ingreso
    Nov 2003
    Ubicación
    Andorra
    Mensajes
    661
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    La macro es correcta, pero el rango de valores no.
    Cada componente de color solo puede ir del 0 al 31 (recuerda 5 bits por componente).
    En cuanto a 8 bits, el número del color debe corresponder al número en la paleta de colores.
    O sea que lo puedes mirar en Photoshop o en mi programa.

    Por cierto, si has pasado a 16bits, te aconsejo utilizar mi librería de fuente OKF que te permitirá muchas más cosas que la función GPtextOut16() (recuerda que el programa ganador de la GBAX2005 usa esa librería ).
    En mi librería Graphics16.h encontrarás la macro RGB y otras funciones que te puede interesar. Mírate también las otras que te pueden ser de mucha utilidad (o no ).

    En cuanto al problema de los ticks, como no pongas parte de tu código, no podremos ayudarte.

    Oankali.

  10. #40

    Fecha de ingreso
    May 2005
    Mensajes
    444
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por oankali
    La macro es correcta, pero el rango de valores no.
    Cada componente de color solo puede ir del 0 al 31 (recuerda 5 bits por componente).
    En cuanto a 8 bits, el número del color debe corresponder al número en la paleta de colores.
    O sea que lo puedes mirar en Photoshop o en mi programa.

    Por cierto, si has pasado a 16bits, te aconsejo utilizar mi librería de fuente OKF que te permitirá muchas más cosas que la función GPtextOut16() (recuerda que el programa ganador de la GBAX2005 usa esa librería ).
    En mi librería Graphics16.h encontrarás la macro RGB y otras funciones que te puede interesar. Mírate también las otras que te pueden ser de mucha utilidad (o no ).

    En cuanto al problema de los ticks, como no pongas parte de tu código, no podremos ayudarte.

    Oankali.

    vaya, en eso yo tampoco habia caido ¬_¬u de hecho esa macro la saque de tu ejemplo, veo que aun tengo mucho q aprender del maestro

    no somos nadie, somos gusanos (los mundos de waine)

    Saludillos,
    The_Goulin

  11. #41

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por the_goulin
    vaya, en eso yo tampoco habia caido ¬_¬u de hecho esa macro la saque de tu ejemplo, veo que aun tengo mucho q aprender del maestro

    no somos nadie, somos gusanos (los mundos de waine)

    Saludillos,
    The_Goulin
    pues si, nos queda mucho por aprender, algun dia llegaremos a su nivel pero demomento habra que aprender de el

    you're my master oankali

  12. #42

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    jo debo de ser corto d entendederas porque no me aclaro nada con los puñeteros colores, a ver ayudarme porfi, esto me paso porque siempre he programado con colores reales y ahora que estoy usando 8bits porque corren las cosas mejor me dan errores por todos los lados

    el define que me habeis puesto es para 16bits ok, no se puede cambiar la numeracion para que se pueda poner en modo RGB para 8bits?? es que poner 0x## es un poco lioso hasta encontrar el numero correcto

    gracias

  13. #43

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    no si al final me parece que voy a dejar esto de programar para la Gp32, a ver ademas de los problemas con los colores ahora estaba probando lo del okf, he puesto un tipo de texto y al exportarlo me da un .okf un .c y un .h

    escribo este codigo
    Código:
    #include "gpdef.h"
    #include "gpstdlib.h"
    #include "gpgraphic.h"
    #include "okf.h"
    #include "gpmain.h"
    #include <Txt.h>
    
    GPDRAWSURFACE gpDraw[2];
    int nflip;
    
    void type_graphic()
    {
     // Inicializar modo grafico
    	GpGraphicModeSet(8, NULL);
    	GpLcdSurfaceGet(&gpDraw[0], 0);
    	GpLcdSurfaceGet(&gpDraw[1], 1);
    
    	GpSurfaceSet(&gpDraw[0]);
     nflip = 1;
    }
    
    void GpMain(void *arg)
    {
     type_graphic();
     
     OkfInitialize(gpDraw, &nflip);
     OkfRegister(txt_okf);
    
    	OkfPrintAt(10, 10, "PRUEBA");
     while (!GpKeyGet());
    
      GpAppExit();
    }
    pero me da estos errores al compilar, que es lo que falla??
    Imágenes adjuntadas Imágenes adjuntadas  

  14. #44

    Fecha de ingreso
    Feb 2005
    Mensajes
    657
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    bueno lo de los colores ya lo he solucionado de forma cutre pero que me lo da correctamente, el gp32converter al convertir el color a hexadecimales me lo pone en 0x## justo como lo necesito, cada vez que quiera saber un color solo tengo que hacer un pequeño bitmap con el color deseado y el converter luego me lo dira

    bien ahora solo falta lo del texto, eso ya me diras tu oankali que lo manejas mejor

    ahora una consulta creeis que las cartas de la baraja son grandes?? es que yo diria que si las hago mas pequeñas no se ven nada
    Imágenes adjuntadas Imágenes adjuntadas  

  15. #45

    Fecha de ingreso
    Nov 2003
    Ubicación
    Andorra
    Mensajes
    661
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Vaya, si que has estado trabajando, yo casi todo el domingo en la montaña. Me llevé el portátil por si las moscas pero como cabía esperar no he hecho nada productivo para la GP32

    Vamos a ver por pasos.

    Cuando trabajas en 8 bits, siempre trabajas con valores de la paleta de colores que van del 0 al 255 o del 0x00 al 0xFF que es exactamente lo mismo. No hace falta ponerlo en hexadecimal, pero eso supongo que ya lo sabías.
    Donde veo que te estás liando es para saber en que posición está el color que estás buscando.
    No hace falta que te compliques la vida creando un bitmap que luego pasarás por GPConverter.exe.
    Solo tienes que ir al Photoshop (lo digo porque es el que usas), abrir tu bitmap de 8 bits, ir a Imagen/Modo/Tabla de colores. En ese momento de sale la tabla de colores.
    Solo con pasar el cursor por encima de la tabla te indica el índice (Índ del color en la pestaña Info que deberías de tener abierta arriba a la derecha de la pantalla (por defecto).
    Otra solución es utilizar el programa PaletteManager que he apuntado en el post #36 de este hilo.

    Finalmente, veo que no has leído bien el post #31 de este hilo. En el apartado 2.- te he indicado que el motor de fuentes solo funciona en 16 bits. Pero bueno, un descuido lo tiene cualquiera
    Es por esta razón que todos mis programas están en modo 16 bits. Es un pelín más lento, pero para puzzles o programas de cartas, la velocidad debería de ser más que suficiente aún sin aumentar la velocidad del procesador (a menos que hagas muchos efectos especiales).

    En cuanto a lo del tamaño de las cartas, las veo un poco grandes, aunque todo depende del juego que vayas a programar. Los solitarios por ejemplo necesitan cartas muy pequeñas porque en principio se tienen que poder ver todas las cartas a la vez. En juegos de varios jugadores como el burro, la brisca, la botifarra, etc... solo con ver las cartas de tu mano, y el revés de las de los contrarios, es suficiente.

    EDIT: Se me olvidaba, no es suficiente con incluir "okf.h" y "Txt.h" en tu programa, también tienes que incluir "../include/okf.c" y "Txt.c" en tu makefile. Lo mismo para cada fuente que utilices. Para evitar tener que poner todas las fuentes así, yo creo dos archivos "fonts.c" y "fonts.h" en donde hago los #includes pertinentes. Luego en el makefile solo indico el fonts.c. Mira mi programita File Selector Tester para entenderlo mejor.

    Oankali.
    Última edición por oankali; 25/07/2005 a las 09:45

Página 3 de 8 PrimerPrimer 1234567 ... ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •