Проблема с кнопкой actionscript
При создании нескольких кнопок расположенных рядом друг с другом и при наведение мышкой с 1 на 2 то иногда получается что 2 кнопки активны, как исправить?
Код AS3:
package {
import flash.filters.*;
import flash.geom.Matrix;
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class Shadow extends Sprite {
private var image:Loader;
private var miniImage:Loader;
public function Shadow(label:String) {
image=new Loader();
image.load(new URLRequest(label));
image.alpha=0.5;
addChild(image);
image.addEventListener(MouseEvent.ROLL_OVER,onOver);
image.addEventListener(MouseEvent.ROLL_OUT,onOut);
}
private function onOut(e:MouseEvent):void {
image.removeEventListener(MouseEvent.MOUSE_MOVE,onMove);
lastState=false;
}
private function onOver(e:MouseEvent):void {
image.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
}
private var lastState:Boolean=false;
private function onMove(e:MouseEvent):void {
if (mouseHits(image)) {
if (! lastState) {
lastState=true;
buttonMode=true;
image.alpha=1;
}
} else {
if (lastState) {
lastState=false;
image.filters=[];
buttonMode=false;
image.alpha=0.5;
}
}
}
public function mouseHits(target.sisplayObject):Boolean {
if (target == null || target.stage == null) {
return false;
}
if (target.hitTestPoint(target.stage.mouseX,target.stage.mouseY)) {
var aMatrix:Matrix=new Matrix();
aMatrix.translate(- target.mouseX,- target.mouseY);
var bd:BitmapData=new BitmapData(1,1,true,0x00000000);
bd.draw(target,aMatrix);
var alpha:uint=bd.getPixel32(0,0) >> 24 & 0xFF;
bd.dispose();
return alpha > 0x0F;
}
return false;
}
}
}
|