AS3 角度算法与实现
短信预约 -IT技能 免费直播动态提醒
学习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();
}
}
}
{
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;
}
}
}
{
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;
}
}
}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341