Маска MovieClip'а

19 views
Skip to first unread message

Маджуга

unread,
May 18, 2009, 1:24:51 AM5/18/09
to ruFlash
Привет всем :)

Такой вопрос - есть movieclip, у него есть кнопка (SimpleButton).
Собственно вопрос - после того как добавляю маску этому movieClip-у -
кнопка (находящаяся в зоне этой маски) - перестает работать. Т.е. ее
видно, но на нее мышкой наводишься - даже курсор не меняется.
Собственно вопрос - как это обойти?

Artemyev Dmitriy

unread,
May 18, 2009, 7:41:38 AM5/18/09
to ruF...@googlegroups.com
Та же проблема. Кнопка становится неактивной. Временное решение вынести кнопку выше этого мувика - но вариант не фонтан :(

--
Flash/Flex developer
------------------------------------------------
skype: dimas_art
tel: +38 (068) 4749190
Ukraine, Crimea, Simferopol

Regards, Artemyev Dmitriy

Daniil Tutubalin

unread,
May 18, 2009, 7:45:49 AM5/18/09
to ruF...@googlegroups.com
Проверьте, какой объект получает событие мыши.

Ruslan Shestopal

unread,
May 18, 2009, 9:49:37 AM5/18/09
to ruF...@googlegroups.com
а попробуй вместо маски scrollRect



--
http://ruslanshestopal.com | -  freelance flash developer, action script programmer and a DJ

Flop Serg

unread,
May 18, 2009, 10:21:42 AM5/18/09
to ruF...@googlegroups.com
А маска случаем не дисплей обжект?
А маска случаем не сверху мувиклипа лежит?
А маска случаем не перехватывает все события мыши до мувиклипа?

taran....@gmail.com

unread,
May 18, 2009, 10:56:50 AM5/18/09
to ruFlash
Необходимо установить для маски mouseEnabled = false;

Dima Pilipenko

unread,
May 18, 2009, 11:18:44 AM5/18/09
to ruF...@googlegroups.com
Если маска экземпляр класса Спрайт или наследуется от него. То
_mask.mouseEnabled = false;
А так лучше маску делать из Шейпа.

maximm...@gmail.com

unread,
May 18, 2009, 12:49:48 PM5/18/09
to ruFlash
Спасибо за совет, но это не помогло.

Dima Pilipenko

unread,
May 18, 2009, 12:58:17 PM5/18/09
to ruF...@googlegroups.com
а _mask.mouseChildren = false?

maximm...@gmail.com пишет:


> Спасибо за совет, но это не помогло.
>
> On 18 май, 19:56, taran.ale...@gmail.com wrote:
>
>> Необходимо установить для маски mouseEnabled = false;
>>
>>
>

> --~--~---------~--~----~------------~-------~--~----~
>

taran....@gmail.com

unread,
May 18, 2009, 1:10:03 PM5/18/09
to ruFlash
Покажи кусок кода, пока не совсем понятно откуда тут ноги растут

On 18 май, 19:49, "maximmadzh...@gmail.com" <maximmadzh...@gmail.com>
wrote:

taran....@gmail.com

unread,
May 18, 2009, 1:15:25 PM5/18/09
to ruFlash
Маска создается программно?
Если маска квадратная, тогда, действительно, лучше использовать
scrollRect.

maximm...@gmail.com

unread,
May 18, 2009, 2:00:07 PM5/18/09
to ruFlash
Вот текущий вариант (создал програмно):

var bar: Shape = new Shape();
bar.graphics.beginFill(0x000000,1);
bar.graphics.drawRect(0,0,this.width,67);
bar.graphics.endFill();
addChild(bar);
this.mask = bar;

Собственно у Shape нет методов mouseChildren и mouseEnabled. Эффект
тот же - this - это класс extends MovieClip.

Daniil Tutubalin

unread,
May 18, 2009, 2:08:59 PM5/18/09
to ruF...@googlegroups.com
Мне кажется что событие мыши получает внешний мувик (this).
bar - это его часть. Попадая мышкой в bar, попадаешь в this.

taran....@gmail.com

unread,
May 18, 2009, 2:28:15 PM5/18/09
to ruFlash
Попробуй без addChild(bar);
На работу маски это не влияет. Как-то, ниразу, не приходило в голову
добавлять маску в маскируемый объект.
В данном случае я бы порекомендовал использовать свойство scrollRect,
это меньше нагружает проц и память.

maximm...@gmail.com

unread,
May 19, 2009, 1:10:00 AM5/19/09
to ruFlash
Да, без addChild(bar) сработало. Странно, но в таком виде скрипт (с
addChild()) брался с Библии ActionScript 3.0.

Всем, кто не пожалел времени чтоб помочь разобраться - БОЛЬШОЕ
спасибо :)

taran....@gmail.com

unread,
May 19, 2009, 6:33:32 AM5/19/09
to ruFlash
можно и с addChild, если и маска и маскируемый объект добавляются в
общий контейнер (ну или в разные). Просто не следует добавлять маску в
маскируемый объект

On 19 май, 08:10, "maximmadzh...@gmail.com" <maximmadzh...@gmail.com>
wrote:

Dima Pilipenko

unread,
May 19, 2009, 6:37:32 AM5/19/09
to ruF...@googlegroups.com
какие проблемы это создает?

taran....@gmail.com пишет:

taran....@gmail.com

unread,
May 19, 2009, 11:13:18 AM5/19/09
to ruFlash
Например, те который здесь обсуждались :)

> какие проблемы это создает?

Dima Pilipenko

unread,
May 19, 2009, 3:30:49 PM5/19/09
to ruF...@googlegroups.com
Я всегда делаю маскрирую объект в котором находится маска, тоесть:
super.mask = _mask;
Никаких проблем не возникало.

taran....@gmail.com пишет:


> Например, те который здесь обсуждались :)
>
>
>> какие проблемы это создает?
>>

> --~--~---------~--~----~------------~-------~--~----~
>

Reply all
Reply to author
Forward
0 new messages