Hola amigos, quiz? alguien pueda ayudarme con este problema en GM limitado.

Necesito que mi objeto personaje, cuando salte, cambie de sprite dependiendo de si asciende o cae. He conseguido que lo haga cuando salta hacia la derecha, pero cuando salta hacia la izquierda el sprite del personaje ascendiendo es el mismo que hacia la derecha, algo incomprensible para m? aunque evidentemente algo estoy haciendo mal.

Agradecer?a cualquier ayuda, preferiblemente en D&D, aunque quiz? un c?digo me pueda ayudar tambi?n.

Un afectuoso saludo a toda la comunidad.


#1 Noviembre 25, 2009, 03:24:25 PM Ultima modificación: Noviembre 25, 2009, 03:26:44 PM por DarkKRuleR
bueno, yo lo que hago es usar un solo sprite mirando a la derecha para cada accion, y modificar la variable image_xscale, ya que si pones image_xscale=-1 el sprite se voltea horizontalmente
para eso dices que ya lo tienes hecho, la cuestion es que el sprite de salto tenga la animacion de saltar, en el aire y caiendo todas, y segun la vspeed cambie una subimagen o otra
yo tengo un codigo que me funciona es este:

//cambia el sprite de salto, segun image_index claro
if sprite_index=spr_C_Pjump and vspeed<0 and image_index>=2 {image_index=0}
if sprite_index=spr_C_Pjump and vspeed>0 and image_index>=7 {image_index=5}

if sprite_index=spr_C_Pjump and vspeed<0 and image_index>=2 {image_index=0}
if sprite_index=spr_C_Pjump and vspeed>0 and image_index>=7 {image_index=5}

y el sprite de salto debe ser las 3 primeras subimagenes el personaje saltando hacia arriba, la 4 y 5 como pasa de subiendo a pararse y empezar a caer, y la 6,7,8 caiendo

Muchas gracias por contestar tan pronto Darkkruler.

Despu?s de trabajar un poco con el c?digo consegu? exactamente lo que me explicabas, pero... ?s?lo cuando el personaje salta a la izquierda! ?otra vez lo mismo!

Este es el c?digo que estoy poniendo en el evento Step (?ser? eso?)

if sprite_index=personaje_iz and vspeed<0 and image_index=2 {image_index=0}
if sprite_index=personaje_iz and vspeed=0 and image_index=4 {image_index=3}
if sprite_index=personaje_iz and vspeed>0 and image_index=7 {image_index=5}

if sprite_index=personaje_de and vspeed<0 and image_index=2 {image_index=0}
if sprite_index=personaje_de and vspeed=0 and image_index=4 {image_index=3}
if sprite_index=personaje_de and vspeed>0 and image_index=7 {image_index=5}

Bueno, muchas gracias por tu atenci?n, quiz? puedas explicarme por qu? el maldito mu?eco s?lo hace la animaci?n correcta hacia un lado.

Recibe un afectuoso saludo.

Mmm este tipo de fallos creo que no se pueden saber, si funciona un lado y el otro no sera o que solo lo has hecho con el sprite de la izquierda o algo externo que afecta la animacion... suele ser un fallo tonto xD
aunque te recomiendo que no uses un sprite para cada lado, cr?eme yo hice eso, y al hacerlo solo con un sprite a la derecha y usando image_xscale=-1 para voltearlo, bien que tuve que darme el trabajo de modificar todo el juego si, pero me ahorr? mas de 200 sprites y 1 GB de memoria, y en la mayoria de casos me ahorraba poner SOLO un codigo para cada accion en lugar de duplicarlo para cada lado, sale mas a cuenta hacerlo asi, para que duplicar el sprite pudiendo voltearlo?

Muchas gracias de nuevo. Creo que por ahora me conformar? conque el personaje tenga el mismo sprite de salto durante todo el recorrido porque quiero seguir avanzando en el juego, pero me interesa mucho lo de ahorrar sprites con xscale. Ya te dar? la tabarra con el tema. Un saludo.