Показать сообщение отдельно
Старый 01.04.2011, 10:52
stantler вне форума Посмотреть профиль Отправить личное сообщение для stantler Найти все сообщения от stantler
  № 1  
Ответить с цитированием
stantler
 
Аватар для stantler

Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
Question Создание всплывающего меню с элементами

Начну с того, что с флешем я познакомился вчера и прям сразу в большой проект (ушел программист по флешу и я был выбрал вместо него). Поэтому прошу строго не судить и не пинать за нелепые вопросы.

В общем есть проект, где флеш выступает в роли GUI. Его вызывает C++ и все Callback'и тоже отправляет туда через Scaleform (это реализовано).
Есть:
  • Весь fla файл:
  • Кнопки-иконки:
  • Элемент:
  • Тип меню (их 4):
  • Анимация этого меню (в первом кадре код: "stop();" ):
  • Код в отдельном AS файле, привязанном к COM_FNPC:
    Код AS1/AS2:
    import controls.textboader.HtmlTextBoarder;
    import controls.textboader.FontType;
    import gfx.controls.ButtonGroup;
    import gfx.controls.Button;
    import controls.button.HtmlButton;
    import gfx.core.UIComponent;
    import network.SWFNetWork;
     
    class scene.fnpc.FnpcMenu extends UIComponent
    {
    	private var m_ActiveMenuList:Array = new Array;
     
    	public function FnpcMenu() 
    	{
    	}
    	public function onLoad()
    	{
    		super.onLoad();
    		trace("Load");
    		FNPC_1Type.visible = false;
    		FNPC_2Type.visible = false;
    		FNPC_3Type.visible = false;
    		FNPC_4Type.visible = false;
    	}
    	public function ShowFnpcMenu(nCount:Number, aIDArray:Array, aKeyArray:Array, aTextArray:Array)
    	{
    		var nDepth:Number = this.getNextHighestDepth();
    		trace("Show "+nCount+" menu");
    		for(var i:Number = 0 ; i < nCount ; i++)
    		{
    			var mc:MovieClip = this.GetMenuIcon(aIDArray[0]);
    			if (mc != null)
    			{
    				trace("Get "+mc.toString()+" icon");
    				var menu:Object = new Object();
    				var mc:MovieClip = this.attachMovie(mc, "menu"+i, nDepth);
     
    				menu.Movie = mc;
    				menu.ID = i;
     
    				this.m_ActiveMenuList.push(menu);
    			}
    		}
     
    		switch(nCount)
    		{
    			case 1:
    			{
    				FNPC_1TypeAni.gotoAndPlay(2);
    				FNPC_1Type.visible = true;
    			}
    			case 2:
    			{
    				FNPC_2TypeAni.gotoAndPlay(2);
    				FNPC_2Type.visible = true;
    			}
    			case 3:
    			{
    				FNPC_3TypeAni.gotoAndPlay(2);
    				FNPC_3Type.visible = true;
    			}
    			case 4:
    			{
    				FNPC_4TypeAni.gotoAndPlay(2);
    				FNPC_4Type.visible = true;
    			}
    		}
    	}
     
    	private function GetMenuIcon(nID:Number):MovieClip
    	{
    		var mc:MovieClip = null;
    		switch(nID)
    		{
    			case 1:
    				mc = this.BTN_FNPC_ALCHEMY;
    				break;
                           ... еще 15 кейсов ...
    		}
    		return mc;
    	}
    }

Теперь к сути, что надо:
Т.к. на меня этот проект свалили, то надо "вчера", поэтому и прошу, показать что и как и куда.
Нужно, чтобы при вызове функции ShowFnpcMenu показывалась анимация с 1-4 элементами. И у каждого этого элемента была бы своя иконка-кнопка (с анимацией onhover, onclick...), свой key и свой text.

Вроде ничего сложного, но мне главное понять принцип на первое время, а потом уже флеш подучу.