Сегодня мы рассмотрим, как можно очень быстро и просто, буквально парой строчек кода, создать вертикальное или горизонтальное меню для ваших флеш-проектов на языке ActionScript 3.0. Но сперва я хочу показать тот результат, который нас ожидает:
По моему скромному мнению, выглядит такое меню довольно симпатично. Если и вам оно приглянулось, то читаем дальше...
Для создания вышеприведённых менюшек я использовал компонент Menu из библиотеки компонентов MiniUI. Сразу скажу, что я не буду описывать все возможности данного компонента (а их довольно много) и приведу самый простой способ использования Menu в флеш-приложении.
Первым делом, скачиваем на свой компьютер саму библиотеку MiniUI. Папку с классами библиотеки размещаем в одну папку с нашим флеш-проектом.
Данная библиотека создаёт компоненты исключительно кодом. Поэтому, сразу же переходим к коду.
ActionScript 3.0:
/*
импортируем классы
*/
import sliz.miniui.Menu;
import flash.net.URLRequest;
import flash.net.navigateToURL;
/*
создаём горизонтальное меню
*/
new Menu(["Главная","Гостевая","Скачать","FAQ","RSS"],50,50,80,this,func,1,1);
/*
создаём вертикальное меню
*/
new Menu(["Главная","Гостевая","Скачать","FAQ","RSS"],50,100,80,this,func,0,2);
/*
функция, которая будет вызываться при клике по пунктам меню
*/
function func(event:Event)
{
var item:uint = event.target.getSelectItem().index;
if (item==0)
{
navigateToURL(new URLRequest("http://edapskov.ru/index.php"));
}
else if (item==1)
{
navigateToURL(new URLRequest("http://edapskov.ru/guestbook.php"));
}
else if (item==2)
{
navigateToURL(new URLRequest("http://edapskov.ru/download.php"));
}
else if (item==3)
{
navigateToURL(new URLRequest("http://edapskov.ru/faq.php"));
}
else if (item==4)
{
navigateToURL(new URLRequest("http://edapskov.ru/rss.xml"));
}
}
Конструктор объекта имеет следующие параметры:
- 1-й - массив с именами пунктов меню;
- 2-й - положение меню по оси X;
- 3-й - положение меню по оси Y;
- 4-й - ширина пунктов меню;
- 5-й - объект-контейнер, внутрь которого мы хотим поместить наше меню;
- 6-й - функция, которая вызывается при клике по нашему меню;
- 7-й - направление меню (0 - это вертикальное меню, а 1 - горизонтальное меню);
- 8-й - определяет стиль разделителя между пунктами меню.
Как же программа узнает, какой именно пункт меню нажат пользователем? Для этого мы можем использовать положение наших пунктов меню в массиве (смотри первый параметр конструктора объектов). Именно для этого мы применяем метод getSelectItem() (возвращает нажатый пользователем пункт меню) и свойство index (возвращает индекс пункта меню в массиве).
В моём примере клик по пункту меню открывает страницу сайта. Вы, естественно, можете использовать меню для других целей. Тут важно понять принцип работы. И я, надеюсь, смог его донести :-)