Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Pejota en Febrero 25, 2019, 06:41:30 PM

Título: Cómo hacer que "draw_sprite" comience la animación siempre desde el 1er sprite
Publicado por: Pejota en Febrero 25, 2019, 06:41:30 PM
Buenas!

Mi problema es el siguiente:
Si yo pongo en un objeto "draw_sprite(loquesea,-1,x,y)" con ese -1 para que me haga la animación del sprite y no me muestre un sprite estático, funciona, pero me empieza la animación desde donde le da la gana  :-[

Imagino que sucede debido a que otras funciones que tiene el objeto que dibuja el sprite, está alterando desde donde comenzar la animación de este draw.

¿Cómo hago para que la animación de ese draw siempre comience en el primer sprite?

Un saludo
Título: Re:Cómo hacer que "draw_sprite" comience la animación siempre desde el 1er sprite
Publicado por: 3dgeminis en Febrero 26, 2019, 10:40:10 PM
Cuando cambies de sprite ademas dar el nombre del nuevo sprite pon que empieze en la primer imagen.
[gml]
sprite_index=caminar
image_index=0
[/gml]
Título: Re:Cómo hacer que "draw_sprite" comience la animación siempre desde el 1er sprite
Publicado por: Pejota en Febrero 27, 2019, 03:12:27 AM
Es que necesito hacerlo con draw_sprite (o cualquier draw), no me sirve "sprite_index"

Si el problema soy yo, que no te entiendo, te agradecería mucho un ejemplo  XD

Título: Re:Cómo hacer que "draw_sprite" comience la animación siempre desde el 1er sprite
Publicado por: 3dgeminis en Febrero 27, 2019, 06:54:29 PM
Cambia el sprite en cualquier evento usando sprite_index=spr_caminar y cuando dibujes usando draw_sprite lo haces de esta forma draw_sprite(sprite_index, -1, x, y
Título: Re:Cómo hacer que "draw_sprite" comience la animación siempre desde el 1er sprite
Publicado por: BusyClown en Marzo 07, 2019, 02:29:04 AM
el evento draw sirve para dibujar lo que uno desee mas es solo un dibujo sin movimiento
la función draw_sprite solo crea una imagen de un sprite en base a los argumentos predefinidos, mas no es un objeto con el que puedas interactuar.
los argumentos de draw_sprite son:

         draw_sprite(tu_sprite,***la subimagen que tendra,posicion x,posicion y);

***subimg: por defecto es cero colocara la sub imagen cero; para sprites que tienen animacion y quieres poner otra imagen podra escoger entre 0 y el numero total de sub imagenes tenga tu sprite, mas esta solo es una imagen y no una animacion; si es un valor negativo la animacion sera en reversa

si quieres una animacion tendras que crear in objeto y colocar el sprite que desees y tenga la animacion  y puedes colocarlo defrente en la room y en el evento create le pones una velocidad de animacion con el codigo:
       
        image_speed = 4; // velocidad de animacion, puedes cambiar la velocidad a tu preferencia, si  pones 0 no tendra animacion..

si te gusto mi respuesta te recomiendo una pagina oficial de programadores, donde comparten sus codigos

https://es.stackoverflow.com

ahi puedes hacer tus preguntas con las etiquetas game-maker , gml, game-maker-languaje, gms2, game-maker-studio-2

ahi muchos programadores podran responder tus dudas y corregiran tu codigo

y si entra a la version en ingles, encontraras mucho sobre el tema

version en ingles : https://stackoverflow.com

gracias y puedes escribirme a busyclown.aqp@gmail.com