Форум 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=147999)

Blackjack1616 19.12.2010 03:26

как правильно сделать меню?
 
Вложений: 1
привет! есть код:

Код AS1/AS2:

 
function createButtonInfo(){
        infoButton = attachMovie("buttonTopMenu","buttonInfoS",_root.getNextHighestDepth());
        infoButton.title_txt.text = "info";
        infoButton.stop();
}
function controlButtonInfo(){
        var clickInfo = 0;
        infoButton.onRollOver = function(){
                infoButton.gotoAndStop(2);
        }
        infoButton.onRollOut = function(){
                if(clickInfo==1){
                        infoButton.gotoAndStop(3);
                }else{
                        infoButton.gotoAndStop(1);
                }
        }
        infoButton.onPress = function(){
                infoButton.gotoAndStop(3);
                clickInfo+=1;
                trace(clickInfo);
                if(clickInfo == 1){
                        infoButton.gotoAndStop(3);
                        createInfo();
                }
                if(clickInfo == 2){
                        removeInfo();
                }
                if(clickInfo>1){
                        clickInfo=0;
                }
        }
}
//-----------------
function createButtonVer(){
        verButton = attachMovie("buttonTopMenu","buttonVerS",_root.getNextHighestDepth());
        verButton._x=110;
        verButton.title_txt.text = "version history" ;
        verButton.stop();
 
}
function controlButtonVer(){
        var clickVer = 0;
        verButton.onRollOver = function(){
                verButton.gotoAndStop(2);
        }
        verButton.onRollOut = function(){
                if(clickVer==1){
                        verButton.gotoAndStop(3);
                }else{
                        verButton.gotoAndStop(1);
                }
        }
        verButton.onPress = function(){
                verButton.gotoAndStop(3);
                clickVer+=1;
                trace(clickVer);
                if(clickVer == 1){
                        verButton.gotoAndStop(3);
                        createVer();
                }
                if(clickVer == 2){
                        removeVer();
                }
                if(clickVer>1){
                        clickVer=0;
                }
        }
}
function initTopMenu(){
        createButtonInfo();
        controlButtonInfo();
 
        createButtonVer();
        controlButtonVer();
}
 
initTopMenu();

есть две кнопки, создаются одинаково(из одного мувика делаются), работают одинаково, но вызывают разные функции. я сделал здесь всякие ролловеры, роллоуты, что бы при нажатии на кнопку, кнопка как то нам отработала, и отметилась, что она нажата, при повторном нажатии отметка снимается.

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

как это сделать, подскажите пожалуйста.

dark256 19.12.2010 14:41

Это называется не "подскажите", а "дайте кусок кода".
Это в вакансии, с озвучиванием суммы денег.

Blackjack1616 19.12.2010 14:58

вы меня, не поняли. я сам способен писать код. но некоторых вещей не знаю как сделать. так как этим не занимался раньше.

но хорошо, я уточню вопрос.

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

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

Добавлено через 47 минут
ну и ладно

Psycho Tiger 19.12.2010 15:50

Нужно получить ссылку на кнопку, с которой снять выделение и снять его (обратно тому, как Вы его нанесли - код смотреть лень )
Я бы по клике на кнопку снимал выделение со всех кнопок, а потом выделял бы нужную.

Blackjack1616 19.12.2010 16:03

о! это идея, снять выделения сначала! спасибо. щас поковыряюсь.

Добавлено через 23 минуты
Psycho Tiger - Большое спасибо, все понял, и все получилось!! Лучей Добра Тебе))

dark256 19.12.2010 17:38

Цитата:

Сообщение от Blackjack1616 (Сообщение 958417)
вообще, dark256 - вы меня малость потрясли, первый раз вижу такое тут обращение. если тут спросить нельзя, то где(я знаю про гугл)? практически каждый ответ или вопрос по теме предполагает какой то код или логику, можно хотя бы логику подсказать?
Добавлено через 47 минут
ну и ладно

Так у вас логика же уже прозвучала - сделать выделение, убрать выделение.
Что тут еще можно подсказать? про ._visible - говорить я не посчитал корректным, а более как бы ничего и не предусматривалось в ответе :)

Blackjack1616 19.12.2010 17:52

_visible - не вариант. логика, да прозвучала, но мне необходимо была подсказка типа как дал Psycho Tiger.


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

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