|
Многодокументное "меню" (Закладки)
Вот эта штука может пригодиться для создания сайта на Flash.
Многодокументное "меню" похоже на многодокументные MDI окна используемые в разных программах. Только вместо главного окна у нас сам Flash плеер, а дочерние содержащиеся в нем MovieClip'ы.
Нам нужно сделать "меню" с закладками, чтобы щелкнув на одной из них открывался (ложился поверх остальных) определенный раздел.
Пока что нарисуй разделы с закладками (примерно так как на рисунке ниже) и конвертируй их в MovieClip'ы по отдельности. Расположи их так чтобы клипы были один за другим и чтобы видно было закладки (щелкать-то по ним будешь :) .
Так, закладочки и все остальное ты нарисовал... Теперь присвой MovieClip'ам имена, например zakladka1, zakladka2 и zakladka3. Для этого выдели клип и нажми Ctrl+F3(Properties), там будет поле для ввода имени, в котором написано <Instance Name> - вписывай туда имена (каждому клипу отдельно).
Выдели первый клип, вызови панель Actions(F9) и впиши туда следующий код (для остальных такой же только меняй имена клипов и <*глубину - рассмотрим ниже>) :
onClipEvent (mouseDown)//При щелчке мышей по
//обьекту
{//Проверяем попали ли координаты мыши при щелчке.
if(this.hitTest(_root._xmouse,_root._ymouse,true)
&&!_root._root.zakladka3.hitTest()
&&!_root._root.zakladka2.hitTest())
{//Если щелчок происходит на клипе...
this.swapDepths(2);//То присваиваем ему глубину "2"
//Самая высокая из всех трех.//Клип расположится
//выше остальных.
//А остальным ниже
_root.zakladka2.swapDepths(0);
_root.zakladka3.swapDepths(1);
}
}
*Метод swapDepths() переводится как Обмен Глубин. Несколько объектов в одном слое перекрывают один одного - они находятся на разной глубине. Чтобы изменить глубину обьекта можно воспользоваться методом swapDepths(). Как на пример один обьект перекрывает другова и нужно сделать наоборот, тогда нижнему присваиваем глубину "1", а верхнему "0". "0" - самая низкая глубина, объект будит лежать ниже всех остальных(за ними).
Здесь можно взять исходник (11 Kb)
Пример показан ниже.
|