Yo quiero hacer que mi nave use 3 sprites:
-Uno para cuando no se presiona nada o se preciona "up" o "down"(es decir para cuando la nave avanza, se queda en el lugar o retrocede). Este sprite contiene un solo cuadro.
-Otros dos sprites para cuando la nave se mueve para los costados,uno para cuando se presiona "right" y otro para cuando se presiona "left". Cada uno de estos sprites es animado y va a contener dos o tres cuadros para hacer esa animacion.
Mi pregunta es como hago para que cuando presiono "right" o "left" haga la animacion y se frene la misma en el ultimo cuadro, es decir para que no repita una y otra vez toda la nimacoin mientras se mantiene presionada la tecla.
Ademas cuando se suelta "right" o "left" debe hacer la animaciona la inversa y tambien frenarse la misma. Se entiende?

PD: ya lei el manual y falle en el intento.

Bueno, puedes probar a crear varios sprites de la nave separados de modo que no conformen una animaci?n sino una imagen est?tica que se mantenga hasta que se deje de pulsar una tecla o se cambie de.

F?cil, en la nave en el evento anination end ubicado en "other" le colocas un c?digo que sea: image_speed=0 y deber?a funcionar, cualquier cosa pregunta.

Hola:

Supongamos que el sprite de "derecha" se llama nave_der yo crear?a un objeto con ella (ll?malo obj_navederecha), nada pierdes. Lo mismo haz con los otros dos.

Luego:
1. En create pon esto: image_speed=5; image_index=-1;

2. En STEP de la nave pon esto: if keyboard_check(vk_right) {instance_change_object(obj_navederecha,1)}

si son tres las subim?genes del sprite, tambi?mn en STEP pon esto:

if image_index=2 {image_speed=0)}


Lo que haces es cambiar una nave por otra cuando ha de cambiar de posici?n.

Si no lo cahaste pregunta de nuevo.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Cuando llegue a mi casa pruebo y les cuento si me funciono o no. Gracias.

Hola. Intente hacer lo que dijeron y nada. La  animacion quiero que quede como el juego Gradius(les dejo en arichivos adjuntos un emulador del Nes y el room del juego Gradius II para que vean como tiene que ser la animacion)

Lo que quiero hacer yo es lo mismo solo que mi nave se va a ver desde arriba, por lo tanto el cambio de animacion lo tiene que hacer cuando va para la izq o der(y no para arriba o para abajo como en el juego Gradius).

-Probe con lo que dijo Masterkey y no entendi. Asi que tuve que invetar el resto y no funciono.
-Probe lo que dijo kaliman777 y compiando tal cual el codigo me pone un error. trate de arreglarlo cambiandole los corchetes y algunas otras cosas a ver si funcionaba (ya que no se porque es el error), pero igual no funciono.
-les dejo un aricho con cada intento que hice siguiendo lo que dijeron.
-Fijense que en los archivos hay tres sprites y un objeto:

*spr_izq:contiene 3 cuadros
*spr_right:contiene 3 cuadors.
*spr_up:un solo cuadro
*obj_nave:tendria que contener los 3 sprites anteriores pienso yo...

Intente recrear la animacion del juego gradius con eso no se si estara bien

Espero que con el juego que les deje se entienda mejor lo que quiero lograr. Obviamente la nave no va a ser ese cuadrado... xD


Muy bueno Masterkey. Ahora va otra pregunta y es como hago para que al soltar la tecla la animacion vaya a la inversa...es decir, cuando no se presiona ninguna tecla el sprite que se usa es el del cuadrado gris y cuando por ejemplo presiono a la derecha cambia al sprite (que contiene tres cuadros)y hace la respectiva animacion que va desde el cuadro 1 al 3 quedandose frenada la misma en el cuadro 3(eso lo que sucede con tu codigo y hasta ahi todo perfecto), pero cuando suelto la tecla la animacion deberia hacer el camino inverso osea pasar por el cuadro 2,1 y luego volver al cuadrado gris que ya es otro sprite diferente.

No se si es posible hacer eso...? :'(


Se me ocurre que cambies lo del evento no key por: image_index-=1 y en el evento step: if image_index<0 {image_index=0} *y tambi?n en step* if image_index=0{sprite_change(spr_nave_normal)//cambia est? sprite por la nave normal//

#9 Enero 10, 2011, 03:41:28 PM Ultima modificación: Enero 18, 2011, 11:50:08 PM por godafesto
-Masterkey, puese el codigo tal cual me dijiste y estaba mal. Trate de acomodarlo un poco y casi logro mi objetivo (te dejo el archivo adjunto).
-Logre que la animacion vaya a la inversa pero queda por arreglar:

-cuando se suelta la tecla la animacion va mas rapido, tedria que ir a la misma velocidad que cuando se presiona la tecla.

-Cuando se presionan mas de dos tecla a la vez ej izq  y luego la der deberia, o no afectar a la tecla que se esta presionando o reaccionar como en el juego que les deje. Creo que lo mas facil es hacer que si se esta presionando la tela para ir a la izq y luego se presiona al mismo tiempo la tecla para ir a la der esta ultima no deberia afectar a la funcion de la primera. Por ahora si presiono esas dos juntas la animacion salta a cuadros indeseados.


Edit: Agrego el archivo con lo que hice. Aun no logro el efecto que busco