Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

* Sponsor

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: como hacer que el objeto te siga?  (Leído 396 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado somnus

en: Mayo 17, 2022, 08:30:17 pm
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:

en el mninuto 1:49 vienen esos objetos que menciono, son los que siguen a la nave y disparan junto con ella

Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Alemar5

Respuesta #1 en: Mayo 17, 2022, 08:42:43 pm
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:

///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 --
}



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.

 


Conectado Jeffrey Faper

Respuesta #2 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:
//CREATE EVENT
//ARRAY POSICIONES DE NUESTRO OBJETO LIDER
trailIndex=39; //RANGO MAXIMO DE NUESTRO ARRAY
for(var i=trailIndex-1; i>=0;  i--){
    trailx[i]=x;
    traily[i]=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[i]=trailx[i-1];
        traily[i]=traily[i-1];
        }
    trailx[0]=x;
    traily[0]=y;
    }

EVENTO END STEP DE NUESTRO NPC OPTIONS O COMPAÑERO :
//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];

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
« Última modificación: Mayo 18, 2022, 01:13:39 am por Jeffrey Faper »

 
Los siguientes usuarios dieron las gracias a este tema: somnus


Desconectado somnus

Respuesta #3 en: Mayo 18, 2022, 05:34:16 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:
//CREATE EVENT
//ARRAY POSICIONES DE NUESTRO OBJETO LIDER
trailIndex=39; //RANGO MAXIMO DE NUESTRO ARRAY
for(var i=trailIndex-1; i>=0;  i--){
    trailx[i]=x;
    traily[i]=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[i]=trailx[i-1];
        traily[i]=traily[i-1];
        }
    trailx[0]=x;
    traily[0]=y;
    }

EVENTO END STEP DE NUESTRO NPC OPTIONS O COMPAÑERO :
//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];

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

Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala