pues el titulo lo dice todo. tengo un misil teledirigido pero solo detecta a un enemigo y si pongo varios tipos mas no les hace ni caso. queria saber como hacer para que valla hacia todos lo enemigos que hay en la view osea k no se marche a la otra punta del mapa a por un enemigo.
si necesitais el codigo o algo solo pedirlo
crea un object llamalo objPadre y ese object no llevara codigo alguno.
coloca a todos los enemigos parent del objPadre. ahora usas esto
en el event step
var a;
a=instance_nearest(x,y,objPadre)
if instance_exists(a)
{
if distance_to_point(a.x,a.y)<200
{move_towards_point(a.x,a.y,8)}
else
{direction=(random(360)); speed=10;}
if (x> room_width) or (x<0) or (y<0) or (y>room_height)
{instance_destroy();}
}
primero toma la id de la instancia mas cercana luego se dirije a ella, si hay otra despues de destruir esa se dirijira a ella, y si no hay ninguna, se mueve en direccion aleatoria, y al salir del room, se destruye.
Cita de: elviskelley en Enero 06, 2010, 07:35:57 PM
coloca a todos los enemigos parent del objPadre.
eso no lo entendi
crea un objeto llamado parent
que no tenga nada ni sprite ni nada o un sprite cualquiera
luego
abre ada uno de los enemigos y en el editor deobjetos debajo de las casillas de visible sold y persistent te y mask hay unaopcion de parent
selecciona el primer objeto que creamos el objparent
va bien solo k cuando estoy muy lejos de todos los enemigos se bugeam los misiles y enpiezan a moverse en el sitio como locos sin hacer nada
var a, b;
a=instance_nearest(x,y,objPadre) //id de la mas cercana
b=instance_furthest(x,y,objPadre) //id de la mas lejana
if instance_exists(a)
{
if distance_to_point(a.x,a.y)<200
{mp_potential_step(a.x,a.y,8,1)}
else
{mp_potential_step(b.x,b.y,8,1)}
if (x> room_width) or (x<0) or (y<0) or (y>room_height)
{instance_destroy();}
}
si estan muy lejos como dices busca a la mas lejana y se dirige a ella.
un ultima cosa. en k parte del codigo podria incluir image_angle=point_direction(x,y,x,y)
es por k los misiles son alargados y no kiero k vallan de lado sino de frente
Edito: ya lo puse muchas gracias por la ayuda :D
korosu, me he encontrado en una situaci?n similar y estaba probando el c?digo de ElvisKelley.
?Podr?as compartir en qu? parte metiste tu c?digo?
image_angle=point_direction(x,y,x,y)
Gracias.
- Herni