AS3 角度算法与实现

2023-01-31 02:01:41 算法 角度 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;
    }
  }
}
源代码在附件中

相关文章