Меню с переходами на url.

Привет дорогая, красотулька Света блондинка. Сегодня на работе ты сделала красивый и аккуратный маникюр, кофе с шоколадкой и решила наконец занятся срочным заказом флеш меню, нарисовала кнопочку (прим. автора: дизайн и ссылки были намеренно измененны) перетянула кнопочу мышкой из библиотеки на рабочее поле (несколько раз) и вдруг задумалась, а не в лом ли прописывать каждой кнопочке название и ссылку перехода? Да и долго, а рабочий день на исходе. 15 минут шевелился мозг под белурыми кудряшками и выдал, как это бывает, документ класс.
//DocCustomName
package{
	import flash.display.*;
	import flash.text.*;
	import flash.events.*;
	import flash.net.*;
	public class DocCustomName extends Sprite{
		var simBtn:SimpleButton;
		var hrefArr:Array;
		var aArr:Array;
		var buttonArr:Array;
		var menuStr:String = '<a href=http://www.murmadillo.tut.su/html/flash-calc-light.html>Куб</a>'+
'<a href=http://www.murmadillo.tut.su/html/tea-true-color-flash-3d.html>Чайник</a>'+
'<a href=http://www.murmadillo.tut.su/html/tea-exposure-flash-3d.html>Засвет</a>'+
'<a href=http://www.murmadillo.tut.su/html/house.html>Домик</a>'+
'<a href=http://www.murmadillo.tut.su/html/highway.html>Дорога</a>'+
'<a href=http://www.murmadillo.tut.su/html/lineCross-lineIntersect.html>Линии</a>'+
'<a href=http://www.arch-art.tut.su/portfolio/portfolio.html>arch-art</a>';
		public function DocCustomName():void{
			var i:int;
			changeLabel(btn, "Привет");
			aArr = getEntrails('html>','</a>',menuStr);
			hrefArr = getEntrails('<a href=','>',menuStr);
			buttonArr = [];
			for (i=0; i<this.numChildren; i++) 
				if (this.getChildAt(i).toString()=='[object SimpleButton]')
				buttonArr.push(this.getChildAt(i));
			
			for (i=0; i<buttonArr.length; i++) {
				changeLabel(buttonArr[i], aArr[i]);
				buttonArr[i].addEventListener(MouseEvent.CLICK, btnClickHandler);
			}
		}

		private function btnClickHandler(evt:MouseEvent):void{
			var i:int;
			for (i=0; i<buttonArr.length; i++) {
				if (evt.target == buttonArr[i]) {
					trace(aArr[i]);
					try {
						navigateToURL(new URLRequest(hrefArr[i]),"_self");
					}catch (e:Error) {trace(e);}
					break;
				}
			}
		}

		private function changeLabel(sim:SimpleButton,_str:String):void{
			((sim.upState as DisplayObjectContainer).getChildAt(1) as TextField).text = _str;
			((sim.downState as DisplayObjectContainer).getChildAt(1) as TextField).text = _str;
			((sim.overState as DisplayObjectContainer).getChildAt(1) as TextField).text = _str;
		}

		private function getEntrails(begin:String, end:String, srt:String):Array{
			var reg:RegExp = new RegExp(begin+'.*?'+end,'gim');
			var begReg:RegExp = new RegExp(begin);
			var endReg:RegExp = new RegExp(end);
			var resultReg:Object = reg.exec(srt);
			var resultStr:String;
			var asnArr:Array = [];
			if (resultReg!=null){
				while (resultReg != null) {
					resultStr = resultReg.toString();
					resultStr = resultStr.replace(begReg,'');
					resultStr = resultStr.replace(endReg,'');
					trace(resultStr);
					asnArr.push(resultStr);
					resultReg = reg.exec(srt);
				}
			}
			return asnArr;
		}
	}
}



Меню с переходами

Архив для CS3 Меню с переходами.