Hola a todos,
como puedo hacer que un objeto siga a otro? (en mi caso seria un juego de plataformas, y no se como hacer que el objeto que te siga salte)
Muchas gracias,
Nakatu
scrIAEnemigo();
//ahora a trabajar en el movimiento y control de la IA del enemigo.
Crearemos el script de scrIAEnemigo y colocamos estos codigos.
//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)
Si quieres saber mas... En mi firma ve el link para el manual de game maker descargalo es gratis.
Gracias