Es decir que cualquier objeto que entre en su rango
estoy creando un juego tipo rpg donde hay invocadores domadores y cosas asi que invocan ":V valga la rebundancia"
a un objeto pero para ello tengo la programación habitual de un objeto es decir
distancia= point_distance(x,y,Obj_Personaje.x,Obj_Personaje.y);
pero en este caso no queiro eso por que si ago eso imaginen tener que poner todos los caracteres enemigos y eso realmente me joderia el codigo por que tendria que hacer un "distancia" para cada enemigo y si ago eso con 5 invocados que aga voy a alentar el juego
Por lo tanto me gustaria un codigo que fuera algo asi como de cualquier objeto que este al rededor
algo que aga una variacion entre los objetos de alrededeor y que el mas cercano lo tome como objetivo o prioridad no se si me de a entender
AYUDA !!!! T-T
Hola Marcusmaniacus! Yo no uso GMS2, pero en el 1 estaba esta función:
collision_circle( x1, y1, radius, obj, prec, notme );
Donde x1 e y1 eran las coordenadas del centro del círculo, radius el radio (impresionante pero cierto), obj el objeto a detectar, prec la precisión al detectar (más precisión, más procesamiento ocupa), notme por si no se quiere detectar al objeto que lo ejecuta o algo así (yo siempre lo pongo en true v:).
Acá está el artículo de yoyogames:
https://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/collision_circle.html (https://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/collision_circle.html)
También hay otras para detectar una línea, un punto, un cuadrado o una elipse. Esto es todo en GMS1, fijate si te sirve para GMS2 o conseguís algo parecido.
Espero que te sirva! 8)
Hola Marcusmaniacus
Puedes intentar usar los children objects.
Creas un objeto enemigo genérico y declaras como "children" (o hijos en español) a cada uno de los objetos enemigos que hayas creado. Esto se hace desde la edición del objeto.
Después sólo ejecutas el código haciendo referencia a tu objeto genérico y el código aplicará para todos los enemigos que hayas definido como hijo
Ejemplo:
Digamos que tienes 4 objetos:
Obj_enemy (padre)
Obj_enemy1 (hijo)
Obj_enemy2 (hijo)
Obj_enemy3 (hijo)
if place_meeting(x,y+1,obj_enemy)
{
Este código detecta colisión con los 3 hijos en 1 sola línea
}
Saludos