Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Exportar Todos los Sprites de mi proyecto con Codigo [Solucionado]  (Leído 364 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado T789

Saludos Makeros, estaba viendo un viejo proyecto hecho en GMS 1.2 y me preguntaba como podia exportar los sprites pues por alguna extraña razon no me aparecia la opcion de save sprites que tengo en GM8, se me ocurrio la idea de exportarlas por medio de codigo

Estuve investigando algunas funciones para el manejo de los sprites y creo que lo hice de muy mala forma o es que use las funciones equivocadas
var sprite, i;
i = 0;
sprite = sprite_get_name(i);
while(sprite_exists(sprite)) {
   sprite_save_strip(sprite, "sprite"+string(i)+".png")
   i += 1;
   sprite = sprite_get_name(i);
}
Pues al principio funciona pero por alguna extraña razon solo me guarda el primer sprite que tengo en el proyecto, los demas no se guardan y termina guardando una y otra vez el mismo sprite

Alguna sugerencia  :-[
« última modificación: Julio 04, 2020, 06:42:22 pm por T789 »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 8 bits

Respuesta #1 en: Julio 03, 2020, 03:49:18 am
Saludos Makeros, estaba viendo un viejo proyecto hecho en GMS 1.2 y me preguntaba como podia exportar los sprites pues por alguna extraña razon no me aparecia la opcion de save sprites que tengo en GM8, se me ocurrio la idea de exportarlas por medio de codigo

Estuve investigando algunas funciones para el manejo de los sprites y creo que lo hice de muy mala forma o es que use las funciones equivocadas
var sprite, i;
i = 0;
sprite = sprite_get_name(i);
while(sprite_exists(sprite)) {
   sprite_save_strip(sprite, "sprite"+string(i)+".png")
   i += 1;
   sprite = sprite_get_name(i);
}
Pues al principio funciona pero por alguna extraña razon solo me guarda el primer sprite que tengo en el proyecto, los demas no se guardan y termina guardando una y otra vez el mismo sprite

Alguna sugerencia  :-[

yo que tu, en lugar de matarme con codigo (porque no se mucho sobre tal cosa) copiaria la imagen entera de un sprite y la pego en un editor.

Ahi lo guardas y haces ese proceso con cada sprite y los puedes cargar desde game maker 8.

O no se, asi lo haria yo espero que esto te ayude

ahora se despide el pana 8-bits

Azter
 


Desconectado Clamud

Respuesta #2 en: Julio 03, 2020, 04:33:13 am
Últimamente he visto preguntas parecidas, pero las otras eran sobre hacer listas de rooms y de objetos.
Puedes usar como base este script
https://www.gmlscripts.com/script/map_sprites

En los comentarios dicen que hay una función incompatible con GM8,  esta versión debería funcionar
    var no,i,ds_map;
    ds_map = argument0;
    no = sprite_create_from_screen(0,0,1,1,false,false,0,0);
    sprite_delete(no);
    for (i=0; i<no; i+=1) {
        if (sprite_exists(i)) {
            ds_map_add(ds_map,sprite_get_name(i),i);
        }
    }

Se crea un sprite para saber el id máximo que se debe buscar.
En lugar de guardar los sprites en el ds_map, puedes exportarlos.

 


Desconectado T789

Respuesta #3 en: Julio 04, 2020, 06:41:19 pm
Listo logre solucionarlo, bueno con algunas mejoras al script
/// Event Create
var i, b, sprite;
b = 0;
sprite = sprite_create_from_screen(0,0,1,1,0,0,0,0)
sprite_delete(sprite)
for(i=0; i<sprite; i+=1) {
  if sprite_exists(i)
  {
    sprite_save_strip(i, "sprite"+string(b)+".png");
    b += 1;
  }
}
Pero por alguna extraña razon no me guardaba los sprites cuando le ponia sprite_get_name(), asi que lo hice nada mas con el id de los sprites, alguien me puede explicar porque cuando lo hago manualmente usando el nombre si lo guarda pero cuando lo hago recorriendo con un for no lo guarda ???

Bueno de todas formas ya lo solucione y de paso aprendi mas sobre los id que tiene cada recurso en GM, cosa curiosa es que puedo usar draw_text(x, y-15, spr_ball_yellow) para saber el id y no solo con sprites, tambien con otros recursos

En fin estoy muy intrigado XD