PDA

Просмотр полной версии : Не отрабатывает код


belartdes
14.01.2011, 18:57
собственно вот код:

function linkUs_function(e:ContextMenuEvent):void{
navigateToURL(new URLRequest("http://сайт.ru/"), "_blank");
}

function btnClick(e:MouseEvent):void{
navigateToURL(new URLRequest("http://сайт.ru"),"_blank");
}

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var astroMenu = new ContextMenu();
astroMenu.hideBuiltInItems();
root.menu = astroMenu;
var astroMenuItem1 = new ContextMenuItem("Designed by ");
astroMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, linkUs_function);
astroMenu.customItems.push(astroMenuItem1);

(this.getChildByName("Li_nn") as InteractiveObject).addEventListener(MouseEvent.CLICK,btnClick);

заканчивает работу с ошибкой Scene 1, Layer 'Layer 21', Frame 1, Line 13 1119: Access of possibly undefined property menu through a reference with static type flash.display:DisplayObject.

в чём косяк?

Зарание спасибо

Wolsh
14.01.2011, 19:14
root это DisplayObject, a у DisplayObject нет свойства menu.

belartdes
14.01.2011, 20:26
как тогда правильно сделать? тут должна быть ссылка по которой человек переходит и выводящаяся информация в контекстном меню есть рабочий скрипт на AS2 его то собственно я и пытаюсь пререписать в 3-ий as

вот исходный скрипт из которого пытаюсь переписать:
function linkUs_function()
{
getURL("http://сайт/", "_blank");
} // End of the function
Stage.scaleMode = "noScale";
Stage.align = "TL";
var astroMenu = new ContextMenu();
astroMenu.hideBuiltInItems();
_root.menu = astroMenu;
var astroMenuItem1 = new ContextMenuItem("Designed by", linkUs_function, true);
astroMenu.customItems.push(astroMenuItem1);
Li_nn.onRelease = function ()
{
getURL("http://сайт2");
};

Wolsh
14.01.2011, 21:20
(_root as InteractiveObject).contextMenu = astroMenu;

Добавлено через 3 минуты
root без слэша конечно)

belartdes
16.01.2011, 12:28
Спасибо, всё заработало, только я чуть подругому решил вопрос

function linkUs_function(e:ContextMenuEvent):void{
navigateToURL(new URLRequest("http://site"), "_blank");
}

function btnClick(e:MouseEvent):void{
navigateToURL(new URLRequest("http://site"),"_blank");
}

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var astroMenu = new ContextMenu();
astroMenu.hideBuiltInItems();
this.contextMenu = astroMenu;
var astroMenuItem1 = new ContextMenuItem("Designed by Мроя");
astroMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, linkUs_function);
astroMenu.customItems.push(astroMenuItem1);

(this.getChildByName("Li_nn") as InteractiveObject).addEventListener(MouseEvent.CLICK,btnClick);

привожу рабочий код, может комуто помодет с решением