Hola soy nuevo en el foro y llevo un tiempo con el game maker y tengo una duda:
Tengo un objeto llamdo enemigo que esta siguiendo una ruta de una path, entonces cuando el objeto player que controlo mediante el teclado se acerca al enemigo se detiene y cambia de instancia y quiero que cuando me aleje del enemigo que esta en la path cambie a la instancia inicial y siga su camino por donde se a detenido, pero en vez de eso empieza desde el inicio de la path, solo e conseguido hasta que cambia la instancia inicial pero si el objeto enemigo que sigue la path esta un poco lejos del inicio de la path da un salto tremendo hacia alli el inicio este es el codigo que e puesto:
En la instancia del enemigo e puesto:
en create e puesto el cuadrado de la path0
en step:
Citarif (distance_to_object(player)) <= 100{
path_end();
instance_change(enemigo_1_abierto,true)
}
En la isntancia enemigo_1_abierto e puesto:
en step:
Citarif (distance_to_object(player)) >= 100{
instance_change(enemigo_1_cerrandose,true)
}
En la instancia enemigo_1_cerrandose(esta es una animacion que ocurre cuando me alejo del enemigo)e puesto:
en animation end:
Citarinstance_change(enemigo_1,true)
y desde alli vuelve a empezar desde el inicio de la path y yo quiero que empieze desde el punto en donde se par? de la path, espero puedan ayudarme, muchas gracias de antemano :D
Forma 1 (Es la que yo usaria) (Obviamente es la que te recomiendo que uses).
En el evento create de la instancia que debera seguir el path desde ahi:
[gml]
//Nombre del path, velocidad del path, que hacer cuando termina el path(2 = continuar desde aqui), absoluto? (0 = No! = Relativo)
path_start(Path,5,2,0);
//Esto va a hacer que arranque el path desde donde esta, y no desde donde esta el path puesto en el room.
[/gml]
Forma 2:
En el evento create de la instancia que debera seguir el path desde ahi:
[gml]
//Nombre del path, velocidad, continuar desde el inicio, absoluto.
path_start(Path,5,1,1);
if !variable_local_exists("global.vez")
{
global.vez = 0
//Declaramos una variable para saber en que posicion del path esta.
global.posicion = 0
}
else if variable_local_exists("global.vez")
{
path_position = global.posicion
}
[/gml]
Evento Step:
[gml]
global.posicion = path_position
[/gml]