Страница 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!