Diciembre 15, 2011, 03:59:51 PM Ultima modificación: Diciembre 15, 2011, 05:12:48 PM por Karasuman
Bueno primero que nada saludos y ahora les aclaro mi problema, lo que ocurre es que yo muevo mi personaje con las flechas izq/der, y no se si les a pasado que al presionarlas al mismo tiempo el personaje se queda quieto y reproduciendo el sprite del personaje caminando. Me gustaria saber como solucionarlo.

TECLAS:
FLECHA IZQ=MOVERSE A LA IZQUIERDA
FLECHA DER=MOVERSE A LA DERECHA
FLECHA ABAJO=AGACHARSE
A=DISPARAR
S=SALTAR
W=ESPADAZO

Les dejo el link del exe:http://www.megaupload.com/?d=FQI4K39G

La variable swcaminar no influye en nada.

En el event keypress right:
if swcaminar=0 and in_air=0 and place_free(x+3,y) and place_meeting(x,y+1,obj_piso){    
   swcaminar=1
   image_index=0
   image_speed=0.8
   sprite_index=spr_shadow_caminando
   image_xscale=1

  }
x+=3

En el event keypress left:

if swcaminar=0 and in_air=0 and place_free(x-3,y) and place_meeting(x,y+1,obj_piso){    
   swcaminar=1
   image_index=0
   image_speed=0.8
   sprite_index=spr_shadow_caminando
   image_xscale=-1
}
x-=3



lo que tienes que hacer es que en el evento de tecla derecha, compruebe si esta presionando la izquierda y viceversa:

[gml]//Evento keypress right
if (keyboard_check(vk_left)){ sprite_index = spr_Quieto; exit; } //Esto comprueba si esta presionando la tecla izquierda en el evento del derecho, y si es as? le da el sprite "spr_Quieto" y deja de ejecutar

x += 4;
sprite_index = spr_Caminar;
image_xscale = 1;
...
[/gml]

[gml]//Evento keypress left
if (keyboard_check(vk_right)){ sprite_index = spr_Quieto; exit; } //Esto comprueba si esta presionando la tecla derecha en el evento del izquierdo, y si es as? le da el sprite "spr_Quieto" y deja de ejecutar

x -= 4;
sprite_index = spr_Caminar;
image_xscale = -1;
...
[/gml]


Saludos.

Checa mi canal de Youtube para tutoriales y charlas sobre desarrollo de videojuegos.


vale men, la probe y funciono, no se me habia ocurrido de esa manera  :-[.

tambi?n pudiste haber usado la funci?n que simula que soltaste la tecla para evitar el molesto moonwalk.

//no al moon walk XDD
if keyboard_check_pressed(vk_right)
{keyboard_clear(vk_left)}

if keyboard_check_pressed(vk_left)
{keyboard_clear(vk_right)}

salu2 :P