For some reason the menu doesn’t load to the URL that I specify in my xml file. When I click on it, it showed up as text underneath the menu itself as Link clicked:____. How can I make it so that the link will actually go to URL that I specify in my xml file?
This is the AS on the main frame.
stage.scaleMode = “noScale”;
stage.align = “LT”;
//handle click events
import classes.MenuEvent;
menuHolder.addEventListener(MenuEvent.ITEM_CLICK,clickHandler);
function clickHandler(e:MenuEvent)
{
var link:String = e.data;
//use the link var to do something
linkInfo.text = "Link clicked: "+link;
}�
this is menu container code
var xmlLoaderObj:URLLoader = null;
var xmlDataObj:XML;
//the url of the menu items
var url:String = “menuitems.xml”;
//load the xml
loadMenu();
//setup the xml loader
function setupXMLLoader():void
{
xmlLoaderObj = new URLLoader();
xmlLoaderObj.addEventListener( Event.COMPLETE, loadHandler );
xmlLoaderObj.addEventListener( ProgressEvent.PROGRESS, loadHandler );
xmlLoaderObj.addEventListener( IOErrorEvent.IO_ERROR, loadHandler );
}
//kill the xml loader
function killXMLLoader():void
{
xmlLoaderObj.removeEventListener( Event.COMPLETE, loadHandler );
xmlLoaderObj.removeEventListener( ProgressEvent.PROGRESS, loadHandler );
xmlLoaderObj.removeEventListener( IOErrorEvent.IO_ERROR, loadHandler );
xmlLoaderObj = null;
}
//call when xml is loaded
function loadHandler( event:Event ):void
{
switch( event.type )
{
case Event.COMPLETE:
//start building the menu
buildMenu( XML( xmlLoaderObj.data ) );
killXMLLoader();
break;
case ProgressEvent.PROGRESS:
break;
case IOErrorEvent.IO_ERROR:
killXMLLoader();
break;
}
}
//start loading the xml
function loadMenu():void
{
if( xmlLoaderObj != null )
{
xmlLoaderObj.close();
}
else
{
setupXMLLoader();
}
xmlLoaderObj.load( new URLRequest( url ) );
}
//Build the main menu
function buildMenu(xmlData:XML):void
{
xmlDataObj = xmlData;
var menus:XMLList = xmlDataObj.item;
var menuLength:uint = menus.length();
var curpos:Number = 0;
//place all children
for(var i:int = 0;i<menuLength;i++)
{
var menuItemObj:menuItem = new menuItem();
menuItemObj._text = menus*.@label;
menuItemObj.name = menus*.@link;
menuItemObj.x = curpos;
menuItemObj.index = String(i);
menuItemObj.renderButton();
menuItemObj.addEventListener(MouseEvent.MOUSE_OVER,buildSubMenu);
menuItemObj.addEventListener(MouseEvent.CLICK,itemClicked);
mainMenuHolder.addChild(menuItemObj);
curpos = (curpos+Math.round(menuItemObj.width))-5;
}
}
//build the sub menu
function buildSubMenu(e:MouseEvent):void
{
gotoAndPlay(2);
var i:int = 0;
//hide line
for (i = (mainMenuHolder.numChildren-1); i >= 0; i–)
{
var itemObj:menuItem = mainMenuHolder.getChildAt(i) as menuItem;
itemObj.hideLine();
}
//set over line on item
e.currentTarget.showLine();
var key:Number = Number(e.currentTarget.index);
var menus:XMLList = xmlDataObj.item[key].item;
var menuLength:uint = menus.length();
var curpos:Number = e.currentTarget.x;
//remove all childeren
for (i = (subMenuHolder.numChildren-1); i >= 0; i--)
{
subMenuHolder.removeChildAt(i);
}
//place all children
for(i = 0;i<menuLength;i++)
{
var menuItemObj:subMenuItem = new subMenuItem();
menuItemObj._text = menus*.@label+" ";
menuItemObj.name = menus*.@link;
menuItemObj.buttonMode = true;
menuItemObj.useHandCursor = true;
menuItemObj.x = curpos;
menuItemObj.renderButton();
menuItemObj.addEventListener(MouseEvent.CLICK,itemClicked);
subMenuHolder.addChild(menuItemObj);
curpos = (curpos+Math.round(menuItemObj.width));
}
}
//handle click event
import classes.MenuEvent;
function itemClicked(event:MouseEvent):void
{
var link:String = event.currentTarget.name;
var e:MenuEvent = new MenuEvent(MenuEvent.ITEM_CLICK, link );
dispatchEvent( e );
}�
this is the XML file
<?xml version=“1.0”?>
<xmlmenu>
<item label="about us" link="about us">
<item label="the company" link="the company"/>
<item label="the team" link="the team"/>
</item>
<item label="portfolio" link="portfolio">
<item label="company 1" link="company 1"/>
<item label="company 2" link="company 2"/>
<item label="company 3" link="company 3"/>
<item label="company 4" link="company 4"/>
</item>
<item label="projects" link="projects">
<item label="webdesign" link="webdesign"/>
<item label="logos" link="logos"/>
<item label="graphics" link="graphics"/>
<item label="developing" link="developing"/>
<item label="video" link="video"/>
</item>
<item label="contact" link="contact">
<item label="management" link="management"/>
<item label="studio" link="studio"/>
</item>
</xmlmenu>