AS3 角度算法与实现

2020-01-10 12:15:54 浏览数 (1)

学习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;     }   } }

源代码在附件中

0 人点赞