Просмотр полной версии : Проблема с меню
Здравствуйте!
У меня есть меню состоящее из 5 кнопок (каждая кнопка отвечает за переход в определенный раздел), не могу понять как сделать так, чтобы при нажатии на кнопку (переход в раздел) она становилась определенного цвета, но при нажатии на другую кнопку она должна вернуть изначальный цвет, а кнопка которую нажали, в свою очередь, меняет цвет, и так с каждой кнопкой. Насколько я понимаю это нужно делать с помощью массивов, но до этой темы я еще не дошел. Помогите пожалуйста с кодом или хотябы подскажите алгоритм. Заранее спасибо.
=)) очень просто можно запоминать сотояние кнопки в переменную и при нажатии на др кнобь проверяем значение переменной в зависимости от значения кнопка меняет свое сотояние либо прописать в каждой кнопке состояние других кнопок.. имхо грамоздко
зы: под кнопкой подразумевается не символ кнопки во флеше а мувиклип который юзается в качестве кнопки
я делал проще
писал функцию 1 для всех которые эти кнопки переводит в 1 состояние
потом при нажатии на кнопку я выполнял эту функцию, везде
и переводил нажатую в состояние 2
рациональнее ничо придумать не смог
хотя может щаз кто меня и научит :)
var curMc:MovieClip;
//
for (i=0; i<3; i++) {
var mc:MovieClip = this.attachMovie('mc', 'mc'+i, this.getNextHighestDepth());
mc.stop();
mc._x = Stage.width/4+i*100;
mc._y = Stage.height/3;
//
mc.onPress = function():Void {
this._currentframe == 1 ? this.nextFrame() : this.prevFrame();
if (curMc != this) {
curMc.prevFrame();
curMc = this;
}
};
}
Вот примерный код для одной кнопки (он аналогичен для всех остальных)
var m;
a.onRollOver = function () {
if (m==6){
_root.a.gotoAndStop (11)
}else{
_root.a.gotoAndPlay(2);
}
}
a.onRelease = function () {
m=6;
_root.a.gotoAndStop (11);
unloadMovie("videoholder");
_root.gotoAndStop ("about");
}
В принципе все работает, то есть после нажатия кнопка становится другого цвета, но когда я нажимаю на другую кнопку , 1 кнопка не меняет цвет в обратный, только когда я наведу на нее курсор. Это понятно, у меня это в коде прописано, как я понял для исправления ошибки нужно отслеживать переменную в каждом кадре. Но как это сделать? С помощью онентерфрэйм (пробывал но не получилось, видимо не туда ставил)?
rollOut куда делся?
+смотри что я выше писал про функцию
RollOut не нужен. я немного не понял про твою функцию, точнее я понял ее принцип, но не понял как его осуществить.
гм зачем он энтер... просто в кадре кнопки пишем
_root.my_var = 1
в другом кадре обнуление ну в функцию if впихиваешь..
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.