Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Под верхним MovieClip просвечиваются кнопки нижнего MovieClip (http://www.flasher.ru/forum/showthread.php?t=69716)

Armen_ 29.09.2005 01:16

Под верхним MovieClip просвечиваются кнопки нижнего MovieClip
 
Ребята, в основном MovieClip загружаем еще один поверх. Но кнопки нижнего MovieClip просвечивают сквозь верхний. Т.е. можно случайно нажать как-будто на пустом месте верхнего MovieClip и сработает ссылка расположенная под ним в нижнем MovieClip. Что делать? Спасибо

kruasan 29.09.2005 01:42

верхнийМувиКлип.onPress=null;
верхнийМувиКлип.useHandCursor=false;

Если же верхнийМувиКлип тоже содержит кнопки, то делаешь по другому:
создаешь прозрачный (_alpha=0) клип на самом нижнем слое клипа "верхнийМувиКлип" и рисуешь в нем фигуру той же формы и размера что и "верхнийМувиКлип". Затем пишешь код:
верхнийМувиКлип.прозрачныйКлип.onPress=null;
верхнийМувиКлип.прозрачныйКлип.useHandCursor=false;

Vitamin E 29.09.2005 01:46

дисэйблить!
 
Код:

my_btn.enabled=false;
где my_btn - имя кнопки, которая "просвечивает"

kruasan 29.09.2005 01:53

Человек задолбается по 100 раз енаблить/дизаблить любую кнопку, нагло залезшую под его клип. Лучше один раз сделать "заглушку" в самом клипе, чтоб впредь ничего не просвечивало.

Vitamin E 29.09.2005 02:04

А зачем по 100 раз? Все намного проще:
Код:

MovieClip.prototype.disableAllButtons = function(act) {
        for (var counter in this) {
                if (this[counter].__proto__ == Button.prototype) {
                        this[counter].enabled = act;
                } else if (this[counter].__proto__ == MovieClip.prototype && this[counter]._parent == this) {
                        this[counter].disableAllButtons(act);
                }
        }
};
ASSetPropFlags(MovieClip.prototype, "disableAllButtons", 7);
//----------------------------------------------------------------------------
my_mc.disableAllButtons(false);

Прототипы - страшная сила! ;)

kruasan 29.09.2005 02:41

И это намного проще? У меня 2 строчки кода :) (посмотри пост выше)
И зачем ему дизэйблить ВСЕ кнопки, ему надо только те, что под мувиком?
И потом, что делать если кнопка перекрывается частично, а он хочет чтоб в неперекрытой области она работала как всегда?
И что делать, если он хочет двигать этот мувик ДрагЭндДропом?

Armen_ 29.09.2005 11:22

Огромное спасибо, Kruasan. Ты меня понял абсолютно точно (действительно, часть кнопки, которая не перекрывается верхним MovieClip должная работать) и дал довольно-таки простой ответ. Просто я тоже люблю простые решения. Но главное - чтобы они были надежные. Сейчас проверю, и если все будет работать, то еще раз огромное спасибо.

Vitamin E 29.09.2005 12:08

Sorry, не сразу понял, что тебе было нужно :rolleyes:


Часовой пояс GMT +4, время: 13:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.