hola este codigo activa un scritp que provoca que el personaje de el golpe, todo funciona bien pero le inclui la parte en negrita que se supone que muestra el grafico de golpe y patada a raz del suelo y no funciona bien muestra el grafico cuando esta en el aire golpeando

1 parte del script personaje parado en el suelo golpeando
2 parte personaje en el aire golpeando
3 parte en negrita personaje agachado golpeando (no funciona)muestra personaje aire golpeando)



ground = 672

if  obj_player1.y = 672 and !keyboard_check(vk_down) 
{

scr_drawattack(ord('A'), stand, jab,   jab_box,   5, 'normal')
scr_drawattack(ord('S'), stand, cross, cross_box, 5, 'normal')
scr_drawattack(ord('Z'), stand, low,   low_box,   5, 'normal')
scr_drawattack(ord('X'), stand, high,  high_box,  5, 'normal')
}


if  obj_player1.y > 0 or  obj_player1.y < 672

{

scr_drawattack(ord('A'), stand, air, air_box,   5, 'normal')
scr_drawattack(ord('S'), stand, air, air_box,  5, 'normal')
scr_drawattack(ord('Z'), stand, air2, air2_box,   5, 'normal')
scr_drawattack(ord('X'), stand, air2, air2_box,  5, 'normal')

}

if keyboard_check_pressed(vk_down) and  obj_player1.y = 672
{
scr_drawattack(ord('A'), stand, dowp, dowp_box,   5, 'normal')
scr_drawattack(ord('S'), stand, dowp, dowp_box,  5, 'normal')
scr_drawattack(ord('Z'), stand, dowk, dowk_box,   5, 'normal')
scr_drawattack(ord('X'), stand, dowk, dowk_box,  5, 'normal')

}


gracias

Proba a cambiar el or por and en esta parte del codigo
if  obj_player1.y > 0 or  obj_player1.y < 672

hola si cambio or por and cuando el personaje esta en el aire y toca el suelo el personaje se pega y no cambia el grafico  sino que sigue como si el personaje estuviera todavia en el aire, por eso lo puse asi para que no se trabe

#3 Agosto 15, 2014, 08:11:15 AM Ultima modificación: Agosto 15, 2014, 08:13:02 AM por penumbra
¿Cuál es el problema? ¿Al lanzar un golpe/patada a ras de suelo el personaje se ve en el aire? ¿Estás seguro que el personaje, cuando lanza esos golpes está exactamente en y = 672? Lo último lo puedes comprobar mediante el debugger o dibujando la variable y para ver si efectivamente está en 672. No sé por qué has decidido usar esa condición del último if. Hay maneras que a mi modo de ver son mas seguras de comprobar que el personaje está sobre el suelo y no en el aire.

#4 Agosto 16, 2014, 05:06:10 AM Ultima modificación: Agosto 16, 2014, 05:09:10 AM por yokaiworld
hola y puedes decirme alguno, es que como no domino el game maker uso el metodo de prueba y error que verdaderamente quita mucho tiempo.
el problema es que cuando presiono boton down el personaje se agacha y cuando esta agachado presiono golpe muestra en el suelo de sprite golpeando, como si estuviera en el aire golpeando, pero lo que deberia mostrar el sprite de golpe agachado

gracias