Тема: dropDown menu?
Показать сообщение отдельно
Старый 28.10.2009, 15:30
amexdesign вне форума Посмотреть профиль Отправить личное сообщение для amexdesign Посетить домашнюю страницу amexdesign Найти все сообщения от amexdesign
  № 7  
Ответить с цитированием
amexdesign

Регистрация: Jan 2009
Адрес: Германия, Bochum
Сообщений: 169
Отправить сообщение для amexdesign с помощью Skype™
попробуй следующее:
под кнопкой "меню" расположи пустой мувик и назови его "submenu" и примени следующий код:
Код AS1/AS2:
import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var menu:Array = new Array("one", "two", "three", "four");
var currentButton:Number = -1;
var y:Number = 0;
var buttonInterval:Number;
 
menu.onRelease = function () {
	buttonInterval = setInterval(createNextButton, 150);
}
 
function createNextButton(){
	if(currentButton < menu.length){
		// включаем 'счётчик' кнопок
		currentButton++;
    	        var b:MovieClip = submenu.attachMovie("subMenu", "subMenu" + currentButton, currentButton);
    	        b.txt.text = menu[currentButton];
		b._y = y;
		y += b._height;
		b._alpha = 0;
		// в зависимости от fps увеличиваем или уменьшаем время альфа-твина
		var t:Tween = new Tween(b, "_alpha", Regular.easeOut , 0, 100, 1, true);
		ID = currentButton;
		b.ID = ID;
		b.seen = 0;
		b.onRollOver = function() {
        	if (this._parent.pressed != this.ID) {
			this.gotoAndPlay("in");
		}else{
			this.gotoAndPlay("in");
		}
    	};
    	b.onRollOut = b.onReleaseOutside = function() {
        	if (this._parent.pressed != this.ID) {
			if (!this.seen) {
				this.gotoAndPlay("out");
			} else {
				this.gotoAndPlay("out");
			}
			}else{
				this.gotoAndPlay("out");
			}
 
    	};
		b.onRelease = function() {
			// прежде нажатая кнопка снова активируется 
			this._parent["subMenu" + this._parent.oldPressed].enabled = 1;
			this._parent["subMenu" + this._parent.oldPressed].gotoAndStop(1);
			// var pressed > одним 'слоем' выше сохраняется ID этой кнопки
			this._parent.pressed = this.ID;
			// эта кнопка маркируется как виденная 
			this.seen = 1;
			// эта кнопка маркируется как деактивированная
			this.enabled = 0;
			// var переписывается
			this._parent.oldPressed = this._parent.pressed;
			// в этой кнопке переход к маркеровке 'выбранна'
			this.gotoAndStop("activ");
			// функция, выполняемая при нажатии на эту кнопку
			//setSubTitel();
		};
	}
	// все кнопки расположенны, удаляем интервал
	if(currentButton == menu.length){
        clearInterval(buttonInterval);
	}
}