Comunidad de diseño web y desarrollo en internet online

ActionScript 3.0 Dibujar una flecha con el API

Citar            
MensajeEscrito el 18 Feb 2011 03:51 pm
Es util dibujar una flecha con el API de dibujo sin necesidad de las herramientas de EDI:

Código ActionScript :

package {
import flash.display.Sprite;
    public class Arrow extends Sprite {
    public function Arrow() {
       init();
    }
    private function init() {
            graphics.lineStyle(1,0,1);
            graphics.beginFill(0xffff00);
            graphics.moveTo(-50,-25);
            graphics.lineTo(0,-25);
            graphics.lineTo(0,-50);
            graphics.lineTo(50,0);
            graphics.lineTo(0,50);
            graphics.lineTo(0,25);
            graphics.lineTo(-50,25);
            graphics.lineTo(-50,25);
            graphics.lineTo(-50,-25);
            graphics.endFill();
    }
  }
}


Hagamos un pequeño ejemplo con la clase anterior. En este caso la flecha seguirá al cursor. Para ello debemos realizar un evento ENTER_FRAME para que la función que hace girar a la flecha sea evaluada cada vez que el apuntador del ratón se mueva. El código será el siguiente:

Código ActionScript :

var flecha:Flecha = new Flecha();
addChild(flecha);
//
flecha.x = stage.stageWidth/2
flecha.y = stage.stageHeight/2
addEventListener(Event.ENTER_FRAME, onEnterFrame);
//
function onEnterFrame(e:Event):void {
   var dx:Number = mouseX - flecha.x;
   var dy:Number = mouseY - flecha.y;
   var radianes:Number = Math.atan2(dy, dx);
   flecha.rotation = radianes * 180 / Math.PI;
}


Recuerde que las funciones trigonómicas de ActionScript regresan valores en radianas, pero la propiedad rotation sólo acepta grados, por lo que hay que convertir radianes en grados.

El ejemplo sería el siguiente:



Si deseas bajar el archivo fuente fla, pulsa aqui.
Si deseas bajar la clase que hace la flechita, pulsa aqui.

Por Francisco Javier Arce

86 de clabLevel

1 tutorial

Genero:Masculino  



Ultima edición por Francisco Javier Arce el 19 Feb 2011 02:24 pm, editado 2 veces

firefox
Citar            
MensajeEscrito el 18 Feb 2011 09:18 pm
Francisco, los tutoriales de Cristalab requieren mucho más que solamente pongas el código. Son una forma para muchas personas de empezar desde cero y valoramos el formato, la explicación y, si es posible, que agregues imágenes y buen BBCode.

Este post lo paso al foro "Aportes".

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.