User Tag List

Resultados 1 al 4 de 4

Tema: Escalar gráficos y guardalos en un .fpg

  1. #1

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    3,441
    Mencionado
    112 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    329
    Agradecer Thanks Received 
    1,183
    Thanked in
    Agradecido 586 veces en [ARG:2 UNDEFINED] posts

    Escalar gráficos y guardalos en un .fpg

    Saludos "compañeros del metal":

    He estado intentando escalar gráficos y guardarlos en un .fpg ya escalados, para luego después no tener que utilizar la sentencia "size". Mi intención es guardar los gráficos ya preescalados.

    Hasta ahora he estado haciendo esto a mano con Paint Shop Pro 8, pero es una tarea muy tediosa, y con la gran cantidad de sprites que necesito no es una opción viable.

    El código que he utilizado es el siguiente, pero de momento no me ha funcionando porque no guarda el gráfico escalado, parece que no obedece a "size", tampoco me funciona la sentencia "save_fpg", no me la reconoce (Fénix 0.92a):

    Código:
    program spriteador;
    
    global
    int id_fpg;
    int id_graph;
    int id_new_graph;
    BYTE aux_g;
    end
    
    BEGIN
         full_screen=false;
         set_mode(320,240,16);//Ventana de 320x240 color de 16 bits
         set_fps(30,0);//30 fps por segundo
         id_fpg=load_fpg("sprite.fpg");
         graph=1;
         x=160;
         y=120;
         frame;
         for(aux_g=1;aux_g<=26;aux_g++)//empieza en el 1 porque la posición 0 es la original con size=100
            switch(aux_g)
               case 1:
                  graph=1;
                  size=100;
               end
               case 2:
                  graph=1;
                  size=95;
               ...
               ...
               ...
               case 26:
                  graph=1;
                  size=11;
               end
            end//fin del switch
            fpg_add(id_fpg,aux_g,id_fpg,graph);
            frame;
         end//fin del for
         //fpg_save(id_fpg,"sprite");
         write(0,160,10,4,"Comprobando...");
         for(aux_g=1;aux_g<=26;aux_g++)
            graph=aux_g;//no chuta, obedece al último size, 
            frame;//por lo que supongo que hace 26 copias iguales en tamaño al 
         end//original
         //save_fpg(id_fpg,"sprites");
         delete_text(all_text);
         unload_fpg(id_fpg);
         exit();
    END

    Si conoceís alguna manera de hacer esto mismo con algún programa de gráficos en lugar de programando, pues también me valdría.

    Gracias anticipadas por las respuestas.

  2. #2

    Fecha de ingreso
    Jun 2004
    Ubicación
    Malaga
    Mensajes
    2,601
    Mencionado
    10 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    7
    Agradecer Thanks Received 
    43
    Thanked in
    Agradecido 39 veces en [ARG:2 UNDEFINED] posts
    Segun la Wiki de Bennu es fpg_save también, es raro. http://wiki.bennugd.org/index.php?title=Fpg_save

    Y no, tu manera de usar el size es incorrecto. Es mas laborioso, en teoria tienes que abrir el FPG de origen, y crear un segundo FPG, ahora tienes que pegar el sprite en pantalla (con un put_map creo) con el size y copiarlo desde pantalla al segundo FPG. En pocas palabras los sprites cuando tu le dices el "size" lo que hace es que al dibujarlos en pantalla les cambia el tamaño, pero en memoria siguen estando en su tamaño original por lo que por mucho size que le digas e intentes copiar de el lo que es el tamaño es igual, por eso tienes que "pegar" el sprite en algun sitio para que se quede dibujado en ese sitio con el tamaño dicho por el size y ahora de ahí copiarlo de vuelta a un FPG. Te lo digo de memoria de la epoca casi del div games studio, te vas a tener que empapar un poco en el manejo de put_map y get_map, y el manejo de FPG
    Última edición por Darumo; 04/12/2011 a las 23:59

  3. #3

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    3,441
    Mencionado
    112 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    329
    Agradecer Thanks Received 
    1,183
    Thanked in
    Agradecido 586 veces en [ARG:2 UNDEFINED] posts
    Gracias Darumo, pero ya lo he resuelto utilizando el comando "convert" de ImageMagick.

  4. #4

    Fecha de ingreso
    Jun 2004
    Ubicación
    Malaga
    Mensajes
    2,601
    Mencionado
    10 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    7
    Agradecer Thanks Received 
    43
    Thanked in
    Agradecido 39 veces en [ARG:2 UNDEFINED] posts
    Me ha sorprendido ver 2 hilos con el mismo nombre en diferentes secciones. xD

    Me alegro que haya dado con una solución.

Permisos de publicación

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