PDA

Просмотр полной версии : как правильно сделать меню?


Blackjack1616
19.12.2010, 03:26
привет! есть код:



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
вообще, dark256 - вы меня малость потрясли, первый раз вижу такое тут обращение. если тут спросить нельзя, то где(я знаю про гугл)? практически каждый ответ или вопрос по теме предполагает какой то код или логику, можно хотя бы логику подсказать?
Добавлено через 47 минут
ну и ладно

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

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