Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: angel_33 en Noviembre 24, 2017, 12:52:37 PM

Título: Efecto KnockBack
Publicado por: angel_33 en Noviembre 24, 2017, 12:52:37 PM
Hola, estoy intentando que al golpear al enemigo con un hit o un disparo tenga un ligero efecto de retroceso.
Tengo creado a los enemigos de tal forma que sus acciones se ejecutan en funcion de 3 scripts. Si esta  a mas de 450p  de distancia se encuentra  en el scr_parado con v=0. Si me acerco a 200 se encuentra en el scr_presecucion con v=2 y por ultimo otro scr_ataque que cuando esta a menos de 60 de distancia nos ataca y su velocidad es v = 0
Ahora bien, cuando la bala de mi personaje colisiona con el enemigo tengo este codigo

enemigo03 = collision_line(x,y,x+hspeed,y+vspeed,obj_enemigo_volador01,false,false);
if (enemigo03 and obj_enemigo_volador01.bolHurt == false) {
    enemigo03.intHealthy -= intHitPowerShoot;
    enemigo03.barra_alpha = 0.70;
    enemigo03.bolHurt = true;
    [b]enemigo03.v = 0  [/b]
    audio_play_sound(snd_impacto_enemigo01,30,false);
    enemigo03.alarm[1] = room_speed/4; 
    enemigo03.alarm[0] = 8 //a los steps vuelve a recibir daño
    instance_destroy();
}

Habia pensado que al golpear la velocidad del enemigo fuera -5  por ejemplo, y se activara una alarma a los pocos steps que volviera  aponer v= 5., pero al ahcerlo no funciona
He añadido la parte de negrita pero no funciona, por lo que me supongo que debere cambiar algo en los scrips, pero no se muy bien el que.Si alguien puede decirme como ahcerlo estaria agradecido.
Título: Re:Efecto KnockBack
Publicado por: kostra en Noviembre 26, 2017, 11:06:31 PM
create:
knock = 0;

step:
if golpeado { //donde golpeado es la parte donde se produce el knockback (retroceso)
    if knock == 0 {
    knock = 1;
    velocidad *= -1; //velocidad lo cambias también a tu variable que tú uses
    alarm[0] = 10; //pongo 10 a ojo, lo que tarda en steps de hacer retroceso
    }

y en alarm[0]:
knock = 0;


PD: he respondido so high, asi que no estoy seguro de que funcionase eso y no me deje nada :B muá