Страница 1 из 1
Кнопка в кнопке.
Добавлено: 15 окт 2012, 16:06
prinum
Есть мувик, реагирующий на мышку (при наведении - всплывает окно, при потере курсора - окно убирается), в этом окне есть кнопка при наведении на которую нужно ее подсветить. Получается, что при наведении на кнопку окно теряет курсор и исчезает...
Чтобы окно не исчезало, делаю:
Код: Выделить всё
plashka.buttonMode = true;plashka.mouseChildren = false;
Но тогда кнопка перестает работать (plashka.mouseChildren = false; - запрещает выбирать дочерние спрайты)... Получается замкнутый круг! Как же быть?
Re: Кнопка в кнопке.
Добавлено: 15 окт 2012, 23:19
sanych_dv
Код: Выделить всё
package{ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var btn0:MovieClip = new MovieClip; btn0.graphics.beginFill(0xFF0000, 1); btn0.graphics.drawCircle(0, 0, 200); btn0.graphics.endFill(); btn0.x = stage.stageWidth / 2; btn0.y = stage.stageHeight / 2; addChild(btn0); var btn1:MovieClip = new MovieClip; btn1.graphics.beginFill(0xFFFF00, 1); btn1.graphics.drawCircle(0, 0, 100); btn1.graphics.endFill(); btn0.addChild(btn1); btn0.buttonMode = true; btn0.mouseChildren = true; btn0.addEventListener(MouseEvent.ROLL_OVER, mouseEvents); btn0.addEventListener(MouseEvent.ROLL_OUT, mouseEvents); btn1.addEventListener(MouseEvent.MOUSE_OVER, mouseEvents); btn1.addEventListener(MouseEvent.MOUSE_OUT, mouseEvents); } private function mouseEvents(e:MouseEvent):void { trace(e.type); switch (e.type) { case "mouseOver": e.currentTarget.alpha = 0.5; break; case "mouseOut": e.currentTarget.alpha = 1; break; case "rollOver": e.currentTarget.alpha = 0.5; break; case "rollOut": e.currentTarget.alpha = 1; break; } } } }
Re: Кнопка в кнопке.
Добавлено: 16 окт 2012, 07:48
prinum
Огромное спасибо, именно то, что и было нужно! Уже попробовал - все получилось, проблема была в разделении событий отдельно на ROLL и MOUSE!