}
//鼠标按下去事件
private function onKeyDown(e:KeyboardEvent):void{
key(e.keyCode,true)
}
//鼠标弹上来事件
private function onKeyUp(e:KeyboardEvent):void{
key(e.keyCode,false)
}
//变化状态
private function key(num:uint,isDown:Boolean):void{
switch(num){
case directionAr[UP]:
if(sole) clear();
_up = isDown;
break;
case directionAr[DOWN]:
if(sole) clear();
_down = isDown;
break;
case directionAr[LEFT]:
if(sole) clear();
_left = isDown;
break;
case directionAr[RIGHT]:
if(sole) clear();
_right = isDown;
break;
}
}
//设置按钮
public function setKey(num:uint,vars:uint):void{
directionAr[num] = vars;
}
//清空按键
public function clear():void{
_up = _down = _left = _right = false;
}
}
}Dot类源代码:
CODE:
package index.base.geom{
import flash.events.EventDispatcher;
import flash.display.DisplayObject;
import index.base.events.DotEvent;
public class Dot extends EventDispatcher{
private var _x:Number;
private var _y:Number;
private var _r:Number;
private var dis:DisplayObject;
public var isListen:Boolean;
public function Dot(x_:Number = 0,y_:Number = 0,r_:Number = 0,_isListen:Boolean = false){
_x = x_;
_y = y_;
_r = r_;
isListen = _isListen;
}
//绑定DisplayObject
public function bind(_dis:DisplayObject,isInTime:Boolean = false):void{
dis = _dis;
updata();
if(isInTime) dis.addEventListener("enterFrame",enterFrameFun);
}
//帧频繁事件
private function enterFrameFun(e:Object):void{
if(_x != dis.x) x = dis.x;
if(_y != dis.y) y = dis.y;
if(_r != dis.rotation) r = dis.rotation;










