Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: ArdursCorp en Mayo 09, 2014, 08:06:45 PM

Título: Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: ArdursCorp en Mayo 09, 2014, 08:06:45 PM
Amigos, soy nuevo en este foro y estoy creando mi primer juego en Game Maker 8. Es un juego de plataformas estilo Mario Bross.

El problema que tengo es q quiero q mi personaje, despues de unos 10 segundos de que el usuario no presione nada, haga una animacion (basada en un sprite que ya cree) digamos que, bailando, por dar un ejemplo. Y que cuando el usuario vuelva a presionar cualquier tecla, retorne al estado anterior.

Ojala me haya explicado bien, es mas creo que muchos de ustedes me entenderàn, ya que en muchos juegos cuando uno no hace nada el personaje hace algo, en ocasiones, hasta gracioso.

Saludos y gracias!!!
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: penumbra en Mayo 09, 2014, 08:17:40 PM
Usa un contador.

If !(keyboard_check(vk_left) and !(keyboard_check(vk_right)
     inactividad += 1
else
    inactividad = 0

if (inactividad >= room_speed * 10)
     sprite_index = spr_bailando

Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: ArdursCorp en Mayo 09, 2014, 08:36:27 PM
y en donde pongo ese codigo? es decir, en step de mi personaje principal?
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: penumbra en Mayo 09, 2014, 08:44:44 PM
Sí, siempre y cuando te muevas con las flechas de dirección, si no es así, esa parte hay que cambiarla. La variable inactividad se debe declarar en CREATE
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: ArdursCorp en Mayo 09, 2014, 08:48:53 PM
Muchas gracias!, lo hice y ya cambia el sprite, pero no se mueve, osea de la animacion del sprite solo me aparece el primer frame :(
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: penumbra en Mayo 09, 2014, 08:59:09 PM
Eso tiene qué ver con la manera en que manejas los sprites. Intenta especificando una velocidad de animación

if (inactividad >= room_speed * 10)
{
     sprite_index = spr_bailando
     image_speed = 0.5
}
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: ArdursCorp en Mayo 09, 2014, 09:06:15 PM
ya lo hice pero sale estatico el personaje y si tiene animacion!! :(
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: penumbra en Mayo 09, 2014, 09:10:24 PM
Algún código en otra sección está afectando el sprite. Si quieres puedes subir el proyecto para revisarlo
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: ArdursCorp en Mayo 09, 2014, 09:37:17 PM
Te lo agradecería mucho. Como lo hago?
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: ArdursCorp en Mayo 09, 2014, 09:38:22 PM
Ah! y acabo de descubrir que cuando el personaje (que es un gato) ya cambia el sprite y se queda estatico, si presiono otra tecla que no sea ni derecha ni izquierda y la mantengo presionada, entonces comienza la animacion. Me deje entender?
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: Xizotono en Mayo 09, 2014, 10:21:26 PM
Ya lo tienes, en el ejemplo puse 2 segundos. Es como lo hizo penumbra basicamente, a ver si asi lo entiendes mejor.
Título: Re:Cambiar el sprite despues de un cierto tiempo de no presionar teclas
Publicado por: ArdursCorp en Mayo 11, 2014, 08:18:59 AM
Muchas gracias a todos!! ya lo logre y ya funciona!!!!!  :)