Puesto que "cada vez" tenemos que controlar si un enemigo se acerca, lo primero que tenemos que hacer es crear un onEnterFrame
Para saber si está cerca, si tenemos una variable que haga referencia al "enemigo" la llamamos enemigo y la variable que hace referencia a la "torre" la llamamos "torre" tendremos que
1.-La distancia al cuadrado será
Código ActionScript :
dist2=(enemigo.x-torre.x)*(enemigo.x-torre.x)+(enemigo.y-torre.y)*(enemigo.y-torre.y)
Se suele usar el cuadrado de la distancia, en lugar de la distancia por no hacer una operación de más. Vamos, nos da igual escribir
Código ActionScript :
if (dist2>100){....}
//que
if (Math.sqrt(dist2)>10){....}
2.-El ángulo lo calcularemos usando Math.atan2
Código ActionScript :
angulo_rad=Math.atan2(enemigo.y-torre.y,enemigo.x-torre.x)
El ángulo es en radianes y la rotation se mide en grados, así que deberemos convertir ese ángulo
Código ActionScript :
angulo_grados=angulo_rad*180/Math.PI