tengo un problema cuando presiono hacia arriba y el boton de golpe mi personaje se queda trabado en el sprite de salto, alguien sabe porque ocurre esto?
Quizas haya un conflicto entre estos dos eventos.
Porque no intentas en el evento step crear una accion para esta situacion?
[gml]
//Suponiendo que tu personaje golpea con "A".
if (keyboard_check(vk_up)) and (keyboard_check(ord("A")))
{
//Lo que quieras que pase.
}
[/gml]
Quizas sea una opcion que funciona, la verdad no estoy seguro, espero que si :D
Saludos!
debes colocar en el boton de golpe que primero verifique si esta o no en el aire osea con una if !place_free(x,y+1) { codigo} eso bastara asi no lanzara el golpe en el aire, pero si quieres que lo lance coloca una variante del golpe que no afecte ni verifique el movimiento vertical solo si esta o no sobre el suelo-.
para el aire seria igual pero sin el ! es decir if place_free(x,y+1){codigo} esto para lo que ara cuando este en el aire.
Hice esto en el evento step, ya no ocurre el problema de que se bloquee el personaje pero no muestra el sprite de salto x.x ..
[gml]
if (keyboard_check_pressed(vk_up))
if (jump)
{
vspeed=-10;
jump-=1;
};
if (!place_free(x,y+1))jump=jumps;
if (keyboard_check(vk_up)) and (keyboard_check(vk_space))
{bizzy=false sprite_index=spr_jump_right image_speed=0.6}
if (vspeed > 0)
{
if (left == true) { sprite_index = spr_aterrizaje; }
if (right == true) { sprite_index = spr_aterrizaje; }
}
[/gml]
elviskelley , no se que poner despues del place_free(x,y+1) {codigo} , para que pegue en el aire... x.x ..
aggg.. despues de estar como 3 horas con el asunto lo arregle en parte xD , ahora no se bloquea el personaje , el problema que tengo es que cuando esta en el piso y al presionar el boton de golpe solo muestra la mascara de golpe que uso pero no el sprite del golpe, y cuando golpea en el aire muestra la animacion demasiado rapido y solo una vez ..
[gml]
EVENTO STEP
DOBLE SALTO
// Doble Salto
if (keyboard_check_pressed(vk_up))
if (jump)
{
vspeed=-10;
jump-=1;
};
if (!place_free(x,y+1))jump=jumps;
if (keyboard_check(vk_up)) and (keyboard_check(vk_space))
{bizzy=false sprite_index=spr_jump_right image_speed=0.6}
if (vspeed > 0)
{
if (left == true) { sprite_index = spr_aterrizaje; }
if (right == true) { sprite_index = spr_aterrizaje; }
}
[/gml]
bueno, me quede atascado con este problema asi que hice otras cosa del juego por mientras, buscando en versiones antiguas creo que el error esta aca logre arreglarlo, pero a medias nuevamente porque no ocurre el error pero si presiono hacia arriba y alguna direccion el personaje muestra la animacion de caminar..
[gml]
if vspeed>0
if !place_free(x,y+1)
if keyboard_check(vk_up)=true
sprite_index = spr_jump_right //para poner sprites
//if vspeed<0 // cambia el lado para el que el personaje mira basado en la direccion a la que va
// image_xscale=1
if vspeed>0
image_xscale=-1
[/gml]
:'( a nadie se le ocurre alguna respuesta?
usa una mask, que quede bien, asi no se afecta la instancia por el cambio de sprites.
mi personaje usa una mask , como puedo poner eso que me dijiste en codigo?
Bueno para cambiar las mask es este mask_index=la nueva mask.