Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: abramelin en Septiembre 04, 2014, 07:47:53 PM

Título: objeto que se mueva libremente alrededor de otro
Publicado por: abramelin en Septiembre 04, 2014, 07:47:53 PM
¿como puedo hacer que un objeto se mueva de forma aleatoria alrededor del jugador, y que cuando este se mueva lo siga?
el seguimiento lo tengo, lo unico que necesito es que se mueva alrededor de forma random
Título: Re:objeto que se mueva libremente alrededor de otro
Publicado por: Xizotono en Septiembre 04, 2014, 09:46:36 PM
Alrededor del jugador cuando esta cerca?

Prueba creando un cuadrado y calcula los 4 vertices (x1,x2,y1,y2) tal que asi, por ejemplo en step pones algo tipo:

horizontal1 = obj_jugador - 50
horizontal2 = obj_jugador + 50
vertical1 = obj_jugador - 50
vertical2 = obj_jugador + 50

Y luego haces que ese objeto si esta dentro del cuadrado se active por ejemplo moverrandom = 1; y si moverrandom = 1; pues el movimiento aleatorio (hay un D&D, no se el codigo xd).

Espero que te sirva de inspiracion de como lo haria yo (con un distance_to_object si te sirve xD).
Título: Re:objeto que se mueva libremente alrededor de otro
Publicado por: abramelin en Septiembre 04, 2014, 10:34:42 PM
le tengo puesto esto


if distance_to_object(j1) es menor que 100

move_random= 1
else
move towards j1.x, j1.y

no me hace exactamente lo que quiero, seguire probando a ver y si no le dare una posicion fija

Título: Re:objeto que se mueva libremente alrededor de otro
Publicado por: abramelin en Septiembre 05, 2014, 12:28:25 AM
he seguido probando y lo mas parecido que he conseguido a sido con step towards, pero el movimiento es demasiado deprisa, creo que no me respeta la velocidad que le tengo puesta...

bueno esto es lo que tengo en el step del objeto que sigue:

if distance_to_object(j1) < 100
    step towards j1.x, j1.y   speed 3
else
     move towards (j1.x+50,j1.y-23)   speed 12


no se como mantener la velocidad a 3, cuando se aleja el objeto del jugador a mas de 100 se queda en 12 y no revierte a 3 al volver dentro de los 100 (en teoria deberia respetarla una vez entra otra vez dentro de los 100 no?)

subo un video aunque no se si se apreciara bien
https://www.youtube.com/watch?v=KPCXFuGnOu4&feature=youtu.be
Título: Re:objeto que se mueva libremente alrededor de otro
Publicado por: penumbra en Septiembre 05, 2014, 03:38:29 AM
No entiendo bien a qué te refieres. Dices que quieres un objeto que se mueva libremente alrededor de otro y también dices que se mueva de forma aleatoria alrededor, pero si se mueven al rededor de algo, la trayectoria es circular, por lo que no es ni aleatoria (para cualquier lado) ni libre (el radio de la trayectoria circular debe ser más o menos constante)

¿Quieres algo como un movimiento de órbita? O a lo mejor quieres otra cosa, pero no capto.
Título: Re:objeto que se mueva libremente alrededor de otro
Publicado por: abramelin en Septiembre 05, 2014, 07:15:19 AM
no no tiene por que ser circular, lo que quiero es que se mueva de forma libre dentro de la distancia que le he indicado (si se mueve alrededor del punto central tampoco me importa mientras no sea constante, es decir que sea aleatorio), pero no acabo de conseguirlo. la unica asemejacion que he conseguido a sido con la funcion step towards, que seguramente no sera para eso