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

Регистрация: Jan 2013
Сообщений: 126
Arrow Создание меню на Gaia Framework

Столкнулся с одной проблемой, попытаюсь объяснить подробно.
Создаю кнопки для меню, клонирую программно:

Код AS3:
//Название кнопок
$XML = Gaia.api.getSiteXML();
Menu = $XML.children().children().descendants("page").attribute("title");
Menu.normalize();
 
TweenNano.to($menuContainer, 1, {alpha: 1});
var i:uint = 0;
var XPos:Number = 0;
 
// Ссылки на страницы
var AllPages:Array = ["index/nav/home", "index/nav/about", "index/nav/equipment", 
"index/nav/project", "index/nav/events", "index/nav/services", "index/nav/contact"];
 
// Создание в цикле
for each (var item:String in Menu)
{
$menubtn = new MenuBtn();
$menubtn.buttonMode = true;
$menubtn.mouseChildren = false;
$menubtn.name = i.toString();
$menuContainer.addChild($menubtn);
 
// Текстовое поле кнопок               
var $txt:TextField = $menubtn.MenuText.getChildByName("txt") as TextField;
$txt.selectable = false;
$txt.autoSize = TextFieldAutoSize.LEFT;
$txt.text = item;
 
$menubtn.addEventListener(MouseEvent.CLICK, MenuFX);
$menubtn.addEventListener(MouseEvent.MOUSE_OVER, MenuFX);
$menubtn.addEventListener(MouseEvent.MOUSE_OUT, MenuFX);
i++;
 
// Вывод кнопок с анимацией                
var arr:Array = [$menubtn];
var u:uint = arr.length;
 
while (u--)
{
   TweenNano.to(arr[u], 1, {y: 10 * i * 5, ease: Elastic.easeOut});
}
 
// Контейнер для всех кнопок                
$menuContainer.x = W - 100;
$menuContainer.y = (H - $menuContainer.width) / 3;
 
XPos = $menubtn.x;
}
 
 
function MenuFX(e:MouseEvent):void
            {
                switch (e.type)
 
                {
                    case MouseEvent.MOUSE_OVER: 
                    {
                        trace(e.target.name)
                        $menuOverSound.play();
                        e.target.gotoAndPlay(0);
                        TweenNano.to(e.currentTarget, .5, {x: -40});
                        TweenMax.to(e.target, .3, {blurFilter: {blurX: 20, remove: true}});
                        break;
                    }
 
                    case MouseEvent.MOUSE_OUT: 
                    {
                        TweenNano.to(e.currentTarget, .5, {x: XPos});
                        break;
                    }
 
                    case MouseEvent.CLICK: 
                    {
                        // Gaia.api.goto (e.target.name); 
 
                         // Раньше при нажатии на кнопки, я использовал инстанс неймы. 
                         //Примерно так:
 
                         if (e.target.name == "0"){
 
                          Gaia.api.goto ("index/nav/about"); 
                          }
 
                          //или
 
                        switch (e.target.name)
			{
			case "0": 
			{
 
			Gaia.api.goto ("index/nav/about"); 
 
			break;
			}
                        }
 
                         // и т.д. Знаю что делаю что то неправильно, надо задать конкретные ссылки 
                         //для каждой кнопки, и по событию target переходить по ссылкам.
 
                        $menuClickSound.play();
                        break;
                    }
                }
 
            }
Что можете предложить в данном случае?


Последний раз редактировалось namespaces; 10.02.2013 в 09:05.