tengo una duda de como sera la mejor manera de implementar lo siguiente:
basicamente es que un objeto te siga, pero lo que quiero lograr es como te sigue el objeto del "option" en el juego del gradius:
https://www.youtube.com/watch?v=pjQ1_8hbp9I
en el mninuto 1:49 vienen esos objetos que menciono, son los que siguen a la nave y disparan junto con ella
No estoy muy seguro de a lo te refieras, pero si quieres que un objeto se acerque al jugador se me ocurre el siguiente código:
[gml]
///Evento step del objeto que quieres que te siga
if x < obj_player.x
{
x ++
}
else
if x > obj_player.x
{
x --
}
if y < obj_player.y
{
y ++
}
else
if y > obj_player.y
{
y --
}
[/gml]
de esta manera la posición del objeto se sumara o restara hasta que sea la misma que el objeto nave, puedes cambiar el ++ o -- a algo como += 0.5, para que valla mas lento o mas rapido.
Seria algo como esto se puede hacer con arrays o ds_list no se cual sea la mejor opcion algunos dicen que ds_list es mas rapido no lo se, me gustaria saberlo...
EVENTOS GRAN LIDER OSEA SU NAVE U OBJ_JUGADOR:
[gml]
//CREATE EVENT
//ARRAY POSICIONES DE NUESTRO OBJETO LIDER
trailIndex=39; //RANGO MAXIMO DE NUESTRO ARRAY
for(var i=trailIndex-1; i>=0; i--){
trailx=x;
traily=y;
}
//EVENTO STEP GRAN LIDER
//almacenar las posiciones de nuestro objeto al array
if(x!=xprevious || y!=yprevious){
for(var i=trailIndex-1; i>0; i--){
trailx=trailx[i-1];
traily=traily[i-1];
}
trailx[0]=x;
traily[0]=y;
}
[/gml]
EVENTO END STEP DE NUESTRO NPC OPTIONS O COMPAÑERO :
[gml]
//CREO QUE VA EN UN END STEP EVENT
//ACTUALIZAMOS LA POSICION DE NUESTRA OPTION NPC O COMPAÑERO
x=objGRAN_LIDER.trailx[10];
y=objGRAN_LIDER.traily[10];
[/gml]
(https://i.ibb.co/VQ2T42T/20220517-180356.gif)
Este metodo funciona bien para velocidades estaticas como es el caso del juego Gradius donde solo puedes cambiar de velocidad al coger un poder y upgraderarla para juegos donde el jugador puede cambiar entre diferentes velocidades a su antojo, el npc option o compañero termina alejandose demasiado de el, jamas pude solucionarlo asi que si alguien tiene alguna solucion favor de compartir le agradeceria mucho
Cita de: Jeffrey Faper en Mayo 17, 2022, 10:30:05 PM
Seria algo como esto se puede hacer con arrays o ds_list no se cual sea la mejor opcion algunos dicen que ds_list es mas rapido no lo se, me gustaria saberlo...
EVENTOS GRAN LIDER OSEA SU NAVE U OBJ_JUGADOR:
[gml]
//CREATE EVENT
//ARRAY POSICIONES DE NUESTRO OBJETO LIDER
trailIndex=39; //RANGO MAXIMO DE NUESTRO ARRAY
for(var i=trailIndex-1; i>=0; i--){
trailx=x;
traily=y;
}
interesante, voy a checar mas al respecto, algo asi es lo que busco, muchas gracias.
//EVENTO STEP GRAN LIDER
//almacenar las posiciones de nuestro objeto al array
if(x!=xprevious || y!=yprevious){
for(var i=trailIndex-1; i>0; i--){
trailx=trailx[i-1];
traily=traily[i-1];
}
trailx[0]=x;
traily[0]=y;
}
[/gml]
EVENTO END STEP DE NUESTRO NPC OPTIONS O COMPAÑERO :
[gml]
//CREO QUE VA EN UN END STEP EVENT
//ACTUALIZAMOS LA POSICION DE NUESTRA OPTION NPC O COMPAÑERO
x=objGRAN_LIDER.trailx[10];
y=objGRAN_LIDER.traily[10];
[/gml]
(https://i.ibb.co/VQ2T42T/20220517-180356.gif)
Este metodo funciona bien para velocidades estaticas como es el caso del juego Gradius donde solo puedes cambiar de velocidad al coger un poder y upgraderarla para juegos donde el jugador puede cambiar entre diferentes velocidades a su antojo, el npc option o compañero termina alejandose demasiado de el, jamas pude solucionarlo asi que si alguien tiene alguna solucion favor de compartir le agradeceria mucho