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.