AS3基础,鼠标跟随

我们经常在游戏里看到,人物跟随鼠标的点击旋转并移动位置,其实算法还是比较简单的。

 

package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	
	public class Main extends Sprite
	{
		private var musX:Number;
		private var musY:Number;
		private var rect:Rect;
		
		public function Main()
		{
			rect=new Rect();
			addChild(rect);
			
			this.addEventListener(Event.ENTER_FRAME,onEnterFrame);
			this.stage.addEventListener(MouseEvent.CLICK,clickHandler);
		}
		
		private function onEnterFrame(e:Event):void{
			var dx:Number=mouseX-rect.x;
			var dy:Number=mouseY-rect.y;
			var radians:Number=Math.atan2(dy,dx);
			rect.rotation=radians*180/Math.PI+0;
		}
		
		private function clickHandler(e:MouseEvent):void{
			musX=e.stageX;
			musY=e.stageY;
			trace(musX);
			rect.x+=(musX-rect.x)/5;
			rect.y+=(musY-rect.y)/5;
		}
		
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值