Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Sivak en Febrero 07, 2011, 10:38:21 PM

Título: tower defence problema en seguir al enemigo
Publicado por: Sivak en Febrero 07, 2011, 10:38:21 PM
necesito ayuda en que las balas de mi torre le den primero al que esta mas cerca de el final del path pero que siga siendo dentro de su rango el scrip que use le clasico [gml]if (distance_to_object(main_damage)<100)
{
move_towards_point(instance_nearest(x,y,main_damage).x,instance_nearest(x,y,main_damage).y, 50);
}
else
{
instance_destroy();
} [/gml] para las balas pero por obvia solo ataca al mas cercano pero me gustaria que primero le pegaran al que esta mas cerca del final del path pero dentro de ese mismo rango ojala puedan ayudarme thx
Título: Re: tower defence problema en seguir al enemigo
Publicado por: Sivak en Febrero 10, 2011, 07:07:50 AM
tengo una noci?n pero no se como implementarla para que haga la funcion espero puedan ayudarme la idea es que la instancia se mueva a "Enemy" cercana a  path_end dentro de el "rango" sea menor a 100 osea distance_to_object <100 a el punto de inicio osea xstart ystart si alguien me ayuda a implementar esta nocion creo que lo solucionaria  en teoria
Título: Re: tower defence problema en seguir al enemigo
Publicado por: Sivak en Febrero 12, 2011, 08:09:44 AM
pues en su defecto alguna aplicacion para que le peguen primero al de menos vida wue den prioridad al enemigo de menos vida?
Título: Re: tower defence problema en seguir al enemigo
Publicado por: Texic en Febrero 12, 2011, 09:30:27 AM
Al crearse los enemigos dales un indice a medida q se van creando, poneles en el create
[gml]indice=instante_number(enemigo)[/gml]
Luego en el create de las balas pon?
[gml]temp=0
with (enemigo) {if point_distance(x,y,other.x,other.y)<100 {if indice<other.temp {other.temp=indice other.obj=self}}}
if temp=0 {instance_destroy()}[/gml]
Luego en el step simplemente pones
[gml]move_towards_point(obj.x,obj.y, 50);[/gml]
Título: Re: tower defence problema en seguir al enemigo
Publicado por: Wadk en Febrero 12, 2011, 09:39:03 AM
Create:
[gml]var pp;
obj = -1;
pp = -1;
with (main_damage){
   if (distance_to_object(other.id) < 100){
       if (path_position > pp){
           pp = path_position;
           other.obj = id;
       }
   }
}
if (obj == -1){
   instance_destroy();
}[/gml]

Step:
[gml]move_towards_point(obj.x, obj.y, 50);[/gml]

Te maldigo Texic, posteaste mientras estaba escribiendo >:(. Pero mi soluci?n es mejor 8). La tuya no funciona bien si, por ejemplo, un enemigo es m?s r?pido que otro :P.
Título: Re: tower defence problema en seguir al enemigo
Publicado por: Texic en Febrero 12, 2011, 10:52:23 AM
Meh, zafa... XD

PD: Notaste lo parecidas q son?? e.e (Obviamente excluyendo la sint?xis y el hecho de q yo no declaro las variables ni nada de eso)
Título: Re: tower defence problema en seguir al enemigo
Publicado por: Wadk en Febrero 12, 2011, 06:22:11 PM
Cita de: Texic en Febrero 12, 2011, 10:52:23 AMPD: Notaste lo parecidas q son?? e.e (Obviamente excluyendo la sint?xis y el hecho de q yo no declaro las variables ni nada de eso)
S? XD... pero no te copi? :( en serio D:
x)
Título: Re: tower defence problema en seguir al enemigo
Publicado por: Sivak en Febrero 12, 2011, 07:23:00 PM
 XD es como dicen las grandes mentes piensan igual o en este caso parecido jajajajajaja muchisimas gracias a los dos si se soluciono me sirvienron exactamente como necesito muchisimas gracias ^^