Просмотр полной версии : проблема с меню
buton4ik
08.01.2013, 18:46
Здравствуйте. Помогите, пожалуйста.
начила делать меню для мультимедийного проекта(универ), зделала мне необходимые кнопки, но дальше не разбираюсь как их зделать рабочими, чтобы открывальи текст?
П.С. с скриптами я нв вы...
Здравствуйте. Помогите, пожалуйста.
начила делать меню для мультимедийного проекта(универ), зделала мне необходимые кнопки, но дальше не разбираюсь как их зделать рабочими, чтобы открывальи текст?
П.С. с скриптами я нв вы...
Я бы сделал так: создал ещё одну функцию с аргументом. Эту функцию вызывал бы с той функции, которая активирует анимацию в ваших кнопках. А в функции с аргументом создал бы столько условий, сколько у вас кнопок, например 6. Условие бы проверяло какая кнопка нажата: например если аргумент посылает "menu1", то в условии выполняется соответствующая команда: например вывести нужный текст.
//Array to hold all the button instances.
var menuArr:Array=new Array(menu1,menu2,menu3,menu4,menu5,menu6);
//This loops through all the buttons and adds event listeners to each button.
for (var i = 0; i < menuArr.length; i++) {
menuArr[i].addEventListener(MouseEvent.MOUSE_OVER, stretchOut);
menuArr[i].addEventListener(MouseEvent.MOUSE_OUT, stretchIn);
menuArr[i].buttonMode = true;
menuArr[i].mouseChildren = false;
}
//This function plays the stretch effect.
function stretchOut (event:MouseEvent):void {
event.currentTarget.gotoAndPlay("2");
//Вызываю "ещё одну функцию":
workFun(event.target.name);
}
//This function returns the menu to its original position.
function stretchIn(event:MouseEvent):void {
event.currentTarget.gotoAndStop("1");
}
//Ещё одна функция:
function workFun(argument)
{
//Если значение аргумента равно "menu1", то:
if(argument == 'menu1')
{
//Соответствующая команда.
}
//Или если значение аргумента равно "menu2", то:
else if(argument == 'menu2')
{
}
//Или если значение аргумента равно "menu3", то:
else if(argument == 'menu3')
{
}
//Или если значение аргумента равно "menu4", то:
else if(argument == 'menu4')
{
}
//Или если значение аргумента равно "menu5", то:
else if(argument == 'menu5')
{
}
//Или если значение аргумента равно "menu6", то:
else if(argument == 'menu6')
{
}
}
Если код пишите в кадрах то. Раскидайте свои кнопки в области сцены и присвойте им имя в окне Properties (свойства) потом добавьте обработчики этих кнопок например:
button1.addEventListener(MouseEvent.CLICK click_btn);
function click_btn(e:MouseEvent):void {
gotoAndStop (номер кадра или имя метки)
}
это при условии если текст который нужно показать будет в отдельном кадре написан.
Если не ошибаюсь то так. У самого опыта мало !!!
Если код пишите в кадрах то. Раскидайте свои кнопки в области сцены и присвойте им имя в окне Properties (свойства) потом добавьте обработчики этих кнопок например:
button1.addEventListener(MouseEvent.CLICK click_btn);
function click_btn(e:MouseEvent):void {
gotoAndStop (номер кадра или имя метки)
}
это при условии если текст который нужно показать будет в отдельном кадре написан.
Если не ошибаюсь то так. У самого опыта мало !!!
Можно сделать по другому, намного упрощено.
//Определяю событие мыши: нажатие кнопки мыши:
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
//Определяю функцию события мыши:
function mouseDown(event:MouseEvent):void
{
//Определяю "объект":
var selectedObject:Object = event.target.name;
//Если нажата кнопка menu1, то:
if(selectedObject == 'menu1')
{
//Информирую об этом:
trace("Нажата кнопка menu1");
}
}
И теперь просто создаёшь остальные условия (в зависимости от имеющихся кнопок).
Не спорю может быть так проще, но есть есть ещё более простой вариан о котором я что-то сразу не сообразил.
"buton4ik" выкладываю ваш архив немного в нём поковырялся. Напишите это примерно то что вы хотели ?menu.swf
buton4ik
08.01.2013, 20:38
да, всё верно :)
Опять всё переделал )))))
Проверяйте ! самый верхний балкон
menu.swf
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.