Форум 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)
-   -   Управление уровнями объектов на одном слое (http://www.flasher.ru/forum/showthread.php?t=157779)

Clark Nova 10.06.2011 16:53

Управление уровнями объектов на одном слое
 
Друзья, приветствую.
Чувствую, что застопорился на элементарщине, но поиски ни к чему не приводят.
Работаю с Flash 8. Имеем одну сцену, в ней один слой, на слое две простецкие кнопки. При наведении курсора на любую из кнопок она увеличивается и зрительно перекрывает собой другую (никакого кода, все нарисовано фо фреймах Over и Down кнопки).
Проблема в том, что какая-то из кнопок (в моем примере - вторая, но не принципиально) в любом случае находится "выше" другой в слое (настраивается Arrange -> Bring to front) и потому полного перекрытия второй кнопки при наведении курсора на первую не происходит.
Пробовал использовать SwapDepths. У меня не получилось задействовать его именно для кнопок. Для этого надо каждую кнопку "сажать" в свой мувик. Учитывая, что у меня планируется штук 60 кнопок на одном слое, и вообще этот пример лишь часть одного огромного флешмувика, такое решение крайне не гуманное.
Как решить задачку, чтобы каждая из кнопок перекрывала собой другие в текущем слое при наведении на нее курсора? (т.е. становилась "выше" по оси z всех остальных элементов в данном слое).
Пример неудачной работы красной кнопки по ссылке здесь.
Спасибо!

mooncar 10.06.2011 17:54

Использовать swapDepths(), говорить тут больше не о чем.
Сажать-не сажать в отдельные мувики - ваше дело. Обычно в проектах чуть сложнее баннера используются в основном только кнопки - символы MovieClip. У класса MovieClip и есть этот метод - swapDepths().
Все так работают и весьма комфортно.

А в скомпилированном ролике слоев вообще нет. "Слои", "Arrange -> Bring to front" - это все есть только в программе Adobe Flash для удобства разработчика. При компиляции компилятор просто располагает по z-оси нарисованные автором объекты сообразно их положению в среде визульной разработки (рисованным объектам назначаются отрицательные глубины, кстати - чтобы нечаянно не возник конфликт с программно организованными, у которых положительные глубины).

Clark Nova 10.06.2011 18:53

Спасибо. Я уже читал Ваши ответы на подобные данному вопросы. Жаль, что кнопки обделены чем-то вроде swapDepths. :(
Ок, буду делать через MovieClip.
Да, и спасибо за описание таба в моем предыдущем вопросе. Действительно об этом стоило подумать ибо получалась белеберда. :)

КорДум 10.06.2011 19:13

Сделайте MovieClip с четырьмя кадрами. Создайте в нем слой и напишите каждому кадру _up, _over, _down и _hit соответственно. Далее нарисуйте в этих кадрах что-то, после присоединения обработчика нажатия, этот клип будет вести себя точно так же, как обычная кнопка.

Clark Nova 10.06.2011 19:52

Так и делаю в итоге. Спасибо. :)


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

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