|
|
|
|||||
Регистрация: Mar 2017
Сообщений: 1
|
Проблема с кнопкой actionscript
При создании нескольких кнопок расположенных рядом друг с другом и при наведение мышкой с 1 на 2 то иногда получается что 2 кнопки активны, как исправить?
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; } } } Последний раз редактировалось Wolsh; 28.03.2017 в 02:16. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Для оформления своего кода нужно пользоваться тегами AS3
__________________
Reality.getBounds(this); |
Часовой пояс GMT +4, время: 00:51. |
|
« Предыдущая тема | Следующая тема » |
|
|