Noticias

¡Ayuda a la Comunidad GM, haz una donación!

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: Detener una animación realizada con "draw" [SOLUCIONADO]  (Leído 299 veces)

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

Desconectado Pejota

Buenas,
Tengo una pregunta muy sencilla, pero que yo como persona que no sabe programar no pude resolver.

Para que una animación no se repita una y otra vez, y se detenga, por ejemplo, en el último sprite, nos vamos al evento End Animation y le decimos algo así como:

if sprite_index= spr_KO{
image_index=6
}

¿Pero si lo que quieres detener no es el sprite principal del objeto y simplemente es un "draw_sprite"?

Un saludo

« última modificación: Octubre 20, 2018, 04:24:37 pm por Pejota »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado BssString

Respuesta #1 en: Octubre 20, 2018, 02:40:30 pm
Hola Pejota

Si estás dibujando el sprite con "sprite_index", tienes que detener la variable que usas para dibujar la subimagen.
Si dibujas la subimagen con valor "-1" o "image_index", basta con hacer image_speed=0 y detienes la animación.

Saludos

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Pejota

Respuesta #2 en: Octubre 20, 2018, 03:09:11 pm
Hola Pejota

Si estás dibujando el sprite con "sprite_index", tienes que detener la variable que usas para dibujar la subimagen.
Si dibujas la subimagen con valor "-1" o "image_index", basta con hacer image_speed=0 y detienes la animación.

Saludos

Buenas BssString.

Ya probé algo así y no me funcionó.

No lo he creado con sprite_index, lo he creado en el evento Draw con "draw_sprite" dentro de un objeto CONTROL de esta manera:

if global.vida=0;
{
draw_sprite(spr_KO,-1000,960,540);
}

y ahora busco que cuando llegue al frame 6, se detenga en él.

 


Desconectado BssString

Respuesta #3 en: Octubre 20, 2018, 03:25:08 pm
En ese caso es mejor controlar la animación con una variable a parte.

Create Event
Código: [Seleccionar]
anim = 0
Step Event
Código: [Seleccionar]
if global.vida=0 && anim < 6 {
anim += 1
}

Draw Event
Código: [Seleccionar]
if global.vida=0 {
draw_sprite(spr_KO,anim,960,540);
}

Saludos

 
Los siguientes usuarios dieron las gracias a este tema: Pejota, Yuzo


Desconectado Pejota

Respuesta #4 en: Octubre 20, 2018, 04:23:49 pm
En ese caso es mejor controlar la animación con una variable a parte.

Create Event
Código: [Seleccionar]
anim = 0
Step Event
Código: [Seleccionar]
if global.vida=0 && anim < 6 {
anim += 1
}

Draw Event
Código: [Seleccionar]
if global.vida=0 {
draw_sprite(spr_KO,anim,960,540);
}

Saludos

Funcionó! Muchas gracias :)
« última modificación: Octubre 21, 2018, 12:54:05 pm por Pejota »

 


Desconectado Yuzo

Respuesta #5 en: Octubre 20, 2018, 05:43:02 pm
coño que buena pinta tiene, has hecho tu los sprites ?

 


Desconectado Pejota

Respuesta #6 en: Octubre 20, 2018, 05:44:58 pm
coño que buena pinta tiene, has hecho tu los sprites ?

Gracias! Sí. Photoshop, DragonBones (es como Spine, pero gratuito) y muchas ganas  :P

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo