Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: ferhand en Mayo 09, 2012, 09:38:47 PM

Título: Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: ferhand en Mayo 09, 2012, 09:38:47 PM
Saludos makeros:

   Pregunta:
    ¿Cómo puedo desde un objeto dibujar muchos "sprites" y sus subimágenes?  ???

  Explicación:
    Necesito evitar la super población de objetos dentro de un "room" en un juego. Para ello intento dibujar desde un solo objeto varios "sprites". El problema radica cuando esos "sprites" también tienen subimágenes. Puedo seleccionar la subimagen que quiero mostrar con facilidad, pero no puedo lograr una animación coherente entre el mostrar una subimagen y otra.

  ¿Álguien tendrá algún modo, algoritmo, idea de como implementar esto?  ???

Mi Algoritmo:
   El algoritmo que uso es el siguiente:  ;)
   1*  Crear un arreglo con todos los "sprites", sus posiciones (x,y), la cantidad de subimágenes.
   2*  En el evento "draw" recorrer dicho arreglo y uno por uno dibujar cada "sprite" en su posición con su respectiva subimagen.

   El problema radica que cuando dibujo nuevamente todos los "sprites" y paso a las subimágenes siguientes no se nota como una animación coherente.  :'(

   Espero me ayuden y que no me borren este tema nuevamente.  :D 
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: Texic en Mayo 10, 2012, 12:29:47 AM
Explicate, cómo que no podés lograr una animación coherente??
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: FrogGer en Mayo 10, 2012, 12:30:59 AM
Duda, un objeto se encarga de dibujar varios sprites a la vez en diferentes posiciones del room? o cada objeto toma un sprite diferente que dibujar al azar? 
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: ferhand en Mayo 10, 2012, 12:34:02 AM
Me refiero, makero Texic:

  a que no puedo encontrar una manera sencilla de controlar las velocidades de las animaciones individualmente.

   Por ejemplo:

   quiero que la animación del "sprite_1" sea lenta
   la animación del "sprite_2" sea rápida
   y que la animación del "sprite_3" sea condicional a una variable.

   ¿Entiendes?
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: ferhand en Mayo 10, 2012, 12:39:27 AM
Cita de: FrogGer en Mayo 10, 2012, 12:30:59 AM
Duda, un objeto se encarga de dibujar varios sprites a la vez en diferentes posiciones del room? o cada objeto toma un sprite diferente que dibujar al azar?

Makero FrogGer:

  Es solo un objeto que tiene una lista de "sprites". Los muestra en distintos lugares del "room" ya que en el arreglo también están las coordenadas de cada "sprite", la cantidad de subimágenes, etc.

  Solo deseo saber una algoritmo para controlar las animaciones de dichos "sprites" de forma personalizada para cada uno.

  ¿Comprenden...?
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: Texic en Mayo 10, 2012, 12:41:15 AM
Ah, pues meté en otro array las velocidades de los sprites
En otro array, el de las subímagenes sumás ese valor cada step, y al dibujarlo dibujalo con floor(nro_subimagen)
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: Mgbu en Mayo 10, 2012, 12:56:58 AM
En el campo subimg va la subimagen, así que deberías hacer esto:

En el create:
[gml]
subimg_1=0
subimg_2=0
subimg_3=0
[/gml]
En Step:
[gml]
subimg_1+=1//Más chico el número más lento se mueve
subimg_2+=0.7
subimg_2+=0.5

if subimg_1>5 //5=Nº de subimagenes del sprite 1
if subimg_2>7 //7=Nº de subimagenes del sprite 2
if subimg_3>9 //9=Nº de subimagenes del sprite 3
[/gml]
y en el draw en la parte que elijes la subimg pe pones subimg_1, subimg_3, subimg_2 respectivamente
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: ferhand en Mayo 10, 2012, 01:05:07 AM
Sí, claro.  :D

   Pensé en esa posibilidad, solo esperaba que álguien propusiera algo más facil.  8)

  Gracias hermanito Mgbu!   ;)
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: FrogGer en Mayo 10, 2012, 02:02:05 AM
Te tengo una implementación más sencilla y practica usando parte de la solución planteada por Mgbu, te dejo un ejemplo para que lo veas. Usa un script muy fácil de usar, en todo caso, cualquier duda me preguntas :D

Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: Exe_mas en Mayo 10, 2012, 07:18:33 PM
Probaste con ponerle al draw_sprite, a donde iria el image_single ponerle -1, y con poner antes del draw_sprite un image_speed creo que funcionaría bien!
Título: Re:Dibujar múltiples "sprites" y sus subimágenes desde un solo objeto [GML]
Publicado por: ferhand en Mayo 10, 2012, 09:50:48 PM
Cita de: Exe_mas en Mayo 10, 2012, 07:18:33 PM
Probaste con ponerle al draw_sprite, a donde iria el image_single ponerle -1, y con poner antes del draw_sprite un image_speed creo que funcionaría bien!

¡Por supuesto!  :-X

  Esa es la forma básica de dibujar un "sprite" y sus subimágenes, pero no funciona cuando quieres dibujar múltiples "sprites" con sus subimágenes a diferentes velocidades.  :D

  Esta noche revisaré el ejemplo enviado por el makero FrogGer, muchas gracias.