Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   проблема с меню (http://www.flasher.ru/forum/showthread.php?t=191969)

buton4ik 08.01.2013 18:46

проблема с меню
 
Вложений: 1
Здравствуйте. Помогите, пожалуйста.

начила делать меню для мультимедийного проекта(универ), зделала мне необходимые кнопки, но дальше не разбираюсь как их зделать рабочими, чтобы открывальи текст?

П.С. с скриптами я нв вы...

Dip52 08.01.2013 19:34

Цитата:

Сообщение от buton4ik (Сообщение 1114345)
Здравствуйте. Помогите, пожалуйста.

начила делать меню для мультимедийного проекта(универ), зделала мне необходимые кнопки, но дальше не разбираюсь как их зделать рабочими, чтобы открывальи текст?

П.С. с скриптами я нв вы...

Я бы сделал так: создал ещё одну функцию с аргументом. Эту функцию вызывал бы с той функции, которая активирует анимацию в ваших кнопках. А в функции с аргументом создал бы столько условий, сколько у вас кнопок, например 6. Условие бы проверяло какая кнопка нажата: например если аргумент посылает "menu1", то в условии выполняется соответствующая команда: например вывести нужный текст.

Код AS3:

//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')
        {
 
        }
}


Wild 08.01.2013 19:56

Если код пишите в кадрах то. Раскидайте свои кнопки в области сцены и присвойте им имя в окне Properties (свойства) потом добавьте обработчики этих кнопок например:
Код AS3:

button1.addEventListener(MouseEvent.CLICK click_btn);
function click_btn(e:MouseEvent):void {
gotoAndStop (номер кадра или имя метки)
}

это при условии если текст который нужно показать будет в отдельном кадре написан.

Если не ошибаюсь то так. У самого опыта мало !!!

Dip52 08.01.2013 20:04

Цитата:

Сообщение от Wild (Сообщение 1114363)
Если код пишите в кадрах то. Раскидайте свои кнопки в области сцены и присвойте им имя в окне Properties (свойства) потом добавьте обработчики этих кнопок например:
Код AS3:

button1.addEventListener(MouseEvent.CLICK click_btn);
function click_btn(e:MouseEvent):void {
gotoAndStop (номер кадра или имя метки)
}

это при условии если текст который нужно показать будет в отдельном кадре написан.

Если не ошибаюсь то так. У самого опыта мало !!!

Можно сделать по другому, намного упрощено.

Код AS3:

//Определяю событие мыши: нажатие кнопки мыши:
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
//Определяю функцию события мыши:
function mouseDown(event:MouseEvent):void
{
        //Определяю "объект":
        var selectedObject:Object = event.target.name;
        //Если нажата кнопка menu1, то:
        if(selectedObject == 'menu1')
        {
                //Информирую об этом:
                trace("Нажата кнопка menu1");
        }
}

И теперь просто создаёшь остальные условия (в зависимости от имеющихся кнопок).

Wild 08.01.2013 20:19

Вложений: 2
Не спорю может быть так проще, но есть есть ещё более простой вариан о котором я что-то сразу не сообразил.
"buton4ik" выкладываю ваш архив немного в нём поковырялся. Напишите это примерно то что вы хотели ?
menu.swf   (93.7 Кб)

buton4ik 08.01.2013 20:38

да, всё верно :)

Wild 08.01.2013 20:55

Вложений: 2
Опять всё переделал )))))

Проверяйте ! самый верхний балкон
menu.swf   (93.5 Кб)


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

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