AS3 角度算法與實現

學習as3製作動畫的時候發現一個好例子,箭頭指向鼠標方向很有意思跟大家分享一下,都很簡單的例子,箭頭實體類代碼如下
package
{
  import flash.display.Sprite;

  public class Arrow extends Sprite
  {
    public function Arrow()
    {
      init();
    }
    public function init():void
    {
      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.endFill();
    }
  }
}
運行類:
package
{
  import flash.display.SpreadMethod;
  import flash.display.Sprite;
  import flash.events.Event;
  import flash.events.KeyboardEvent;
  import flash.events.MouseEvent;
  import flash.ui.Keyboard;
    
  public class test extends Sprite
  {
    private var arrow:Arrow;
    public function test()
    {
      init();
    }
    public function init():void{
      arrow = new Arrow();
      addChild(arrow);
      arrow.x = stage.stageWidth/2;
      arrow.y = stage.stageHeight/2;
      addEventListener(Event.ENTER_FRAME,ratation);
    }
    public function ratation(event:Event):void{
      var dy:Number = mouseY-arrow.y;
      var dx:Number = mouseX-arrow.x;
      var ratation:Number = Math.atan2(dy,dx);
      arrow.rotation = ratation*180/Math.PI;
    }
  }
}
源代碼在附件中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章