pelota.addEventListener(MouseEvent.MOUSE_DOWN, arrastrarPelota);
function arrastrarPelota(event:MouseEvent):void { //al pulsar el botón
pelota.startDrag(); //Comenzamos a arrastrar
}
stage.addEventListener(MouseEvent.MOUSE_UP, soltarPelota);
function soltarPelota(event:MouseEvent):void { //Al soltarlo
pelota.stopDrag(); //Dejamos de arrastrar
}
nave.addEventListener(Event.ENTER_FRAME, orientarHaciaPelota);
function orientarHaciaPelota(event):void {
//A partir de las coordenadas de cada objeto, calculamos el ángulo
var radianes:Number = Math.atan2((pelota.y-nave.y), (pelota.x-nave.x));
//Lo convertimos se radianes a grados
var grados:Number=Math.round(radianes*180/Math.PI);
//Y rotamos la nave esos grados
nave.rotation=grados;
}
Lo que hemos hecho en un principio es, como vimos en la teoría, es calcular el ángulo que hay entre las coordenadas de la pelota y las de la nave. El ángulo obtenido, convertido en grados, será lo que hay que rotar (rotation) la nave para que apunte a la pelota.Nota: Observa que inicialmente la nave está orientada a la derecha, así que no hará falta solventar el desfase de ángulo.
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.