Bueno, estoy haciendo un juego de sonic (me interesa en D&D de momento) y mi duda es la siguiente:
Bueno, para quien no lo sepa, en los juegos de sonic es caracteristico que el protagonista, segun si velocidad, cambie de animaci?n de correr, y pues, yo en mi juego, estoy atascado en esta parte.
He hecho un conjunto de acciones que compruevan si la variable OnGround es verdadera (comprovar si est? al suelo) entonces de aqu? abro un bloque donde compruevo con una variable FacingR a que direcci?n mira y para cada una de las dos condiciones agrego un bloque donde una vez mas compruevo cada uno de los intervalos de velocidad (por ej. mas grande que 0 y mas peque?o que 10) y segun sean, voy a?adiendo la acci?n de cambio de sprite.
Aqu? va mi duda: He provado poniendo este c?digo en el evento step y funciona, pero el problema est? en que (o almenos supongo) que como "step" se comprueba en cada frame, empieza la animaci?n otra vez cada frame y la animaci?n de correr se vuelve est?tica, es decir, cambia el sprite, pero no sale animado.
As? que mi pregunta es, como puedo hacerlo. Espero respuestas.
Saludos :)
creo que lo que necesitas es poner en step
un codigo que diga: image_speed=speed/6
el "6" es por ejemplo si vas a velocidad 3 la animacion sera 0.5
asi si vas a 6 de velocidad la animacion sera a 1
Bueno, esto funcionar?a, el problema es que, cada tipo de animacion de correr es un sprite diferente ya que el movimiento es diferente, no es solo la velocidad de animacion. Me he explicado mal
Algo asi??
Citarif speed<=3 {sprite_index=run_slow}
if speed>3<=5 {sprite_index=run_med}
if speed>5 {sprite_index=run_fast}
sii exacto, justamente esto. El problema es que, al ponerlo en el evento step, la animacion se ve estatica porque (creo) que al comprobar a cada frame del juego, inicia la animacion en cada frame y esto hace que no se vean mas frames de la animaci?n.
Que podr?a hacer?
No, ese codigo no deberia darte problemas..
Pero siendo asi...:
if speed<=3 and sprite_index<>run_slow {sprite_index=run_slow}
if speed>3<=5 and sprite_index<>run_med {sprite_index=run_med}
if speed>5 and sprite_index<>run_fast {sprite_index=run_fast}
Suerte, espero q t sirva
Modific? los D&D donde cambies el sprite, donde dice "Subimage" pon? image_index y fijate que donde dice Speed no diga 0.
Cita de: Wadk en Febrero 08, 2010, 09:34:45 AM
Modific? los D&D donde cambies el sprite, donde dice "Subimage" pon? image_index y fijate que donde dice Speed no diga 0.
Muchas gracias :) me ha funcionado. ^^. Solamente una cosa: Que indica la variable subimage_index? porque no acabo de entenderlo muy bien:S
Y tambi?n muchas gracias a todos los otros que se han molestado en contestarme, a?n no quiero usar codigo GML pero de todos modos es mejor irme familiarizando con ?l.
image_index es la Subimagen que esta mostrando el sprite en el momento
El sprite esta conformado por muchas imagenes para darle animacion (en algunos casos). Cada una de
esas imagenes es una Subimagen del sprite. La velocidad del sprite o image_speed indica la frecuencia
con la que el sprite cambia de Subimagen
Espero haberlo explicado bien :-[
Suerte :)
gracias :) me qued? claro.