estoy atrancado con algo que seguramente os sera muy simple. tengo una plataforma con un path que cuando colisiona con el jugador se para y no sigue el recorrido, le tengo puesto que setee la variable (y) del jugador al (vspeed) de la plataforma y la (x) al (hspeed)... en plataformas con movimiento horizontal y vertical me funciona bien, pero en esta con el path me da ese problema.
a ver si podeis echarme un cable
no se usa path, ni move_towards_point, ni mp_step... ya que no funka bien para los plataformas.
usa mejor un script de verificacion para plataformas es decir una pequeña ia.
//este script es para que te persiguan en juego de plataformas.
//argument0= aqui la instancia a perseguir.
//argument1 aqui la velocidad maxima del impulso del salto.
//argument2 aqui la velocidad a la que se movera cuando este sobre el suelo.
//argument3 aqui la velocidad a la que se movera en el aire.
//argument4 aqui la velocidad de iimpulso inicial de salto (saltar).
argument0= objJugador;
argument1=12;
argument3=4.2;
argument4=12;
if distance_to_object(argument0)>128
{argument2=3}else{argument2=2}
if place_free(x,y+1){gravity_direction=270 gravity=0.5}else{gravity=0;}
if vspeed>argument1{vspeed=argument1}
if distance_to_object(argument0)>16
{
if x< argument0.x
{
if place_free(x+5,y)and !place_free(x,y+1){ x+=argument2}
if not place_free(x,y+1)and place_free(x+8,y+1)
{vspeed-=argument4; }
if place_free(x+5,y+1){ x+=argument3}
mirar=true;
}
if x> argument0.x
{
if place_free(x-5,y)and !place_free(x,y+1){ x-=argument2}
if not place_free(x,y+1)and place_free(x-8,y+1)
{vspeed-=argument4;}
if place_free(x-5,y+1){ x-=argument3}
mirar=false
}
}
if distance_to_object(objJugador)<64 and !instance_exists(objBalaEnemigo)
{instance_create(x,y,objBalaEnemigo);}
if mirar
{image_xscale=1;}else{image_xscale=-1;}
//para que mire la imagen al lado correcto.
Esta IA trabaja de la siguiente manera, primero verifica la posición actual X del enemigo luego si esta a la derecha > o a la izquierda < del objJugador, una vez verificado esto verifica si se encuentra libre X 5 píxeles al lado a mover y si esta sobre algún object (hace referencia al piso) de ser correcto se mueve en esa dirección, (place_free(x,y) verifica espacios libres) también verifica una cantidad de píxeles un poco mas delante de los que avanzara para saber si no hay instancia alguna sobre la que caminar, de ser así entonces salta. Funciona igual de ambos lados solo se cambio sus coordenadas de negativo a positivo, y según el movimiento activa o no la variable mirar.
Si esta a menos de 64 píxeles de distancia crea la bala (dispara)
Espero te sirva.
Fuente: http://gmtutoek.3a2.com/
lo estoy haciendo con move towards, ya que la plataforma es una vagoneta y tiene que llevar el path por fuerza para seguir los railes, he conseguido que quede y siga en la vagoneta con salto inclusive, pero de moverse iz y derecha sobre la vagoneta nada. trasteare el script a ver si puedo adaptarlo a algo, pero lo suyo seria poderlo hacer sobre un path. gracias