Codice PHP:
// generates a list of menu items (effectively one menu)
// given the inputted parameters. This makes the main menu
// as well as any of the submenus
GenerateMenu = function (container, name, x, y, depth, node_xml) { var curr_node;var curr_item;var curr_menu = container.createEmptyMovieClip(name, depth);for (var i = 0; i<node_xml.childNodes.length; i++) {curr_item = curr_menu.attachMovie("menuitem", "item"+i+"_mc", i);curr_item._x = x;curr_item._y = y+i*curr_item._height;curr_item.trackAsMenu = true;curr_node = node_xml.childNodes[i];curr_item.action = curr_node.attributes.action;curr_item.variables = curr_node.attributes.variables;curr_item.name.text = curr_node.attributes.name;if (node_xml.childNodes[i].nodeName == "menu") {curr_item.node_xml = curr_node;curr_item.onRollOver = curr_item.onDragOver=function () { var x = this._x+this._width-5;var y = this._y+5;GenerateMenu(curr_menu, "submenu_mc", x, y, 1000, this.node_xml);var col = new Color(this.background);col.setRGB(0xf4faff);};} else {curr_item.arrow._visible = false;curr_item.onRollOver = curr_item.onDragOver=function () { curr_menu.submenu_mc.removeMovieClip();var col = new Color(this.background);col.setRGB(0xf4faff);};}curr_item.onRollOut = curr_item.onDragOut=function () { var col = new Color(this.background);col.setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});};curr_item.onRelease = function() {Actions[this.action](this.variables);CloseSubmenus();};}};
// create the main menu, this will be constantly visible
CreateMainMenu = function (x, y, depth, menu_xml) { GenerateMenu(this, "mainmenu_mc", x, y, depth, menu_xml.firstChild);mainmenu_mc.onMouseUp = function() {if (mainmenu_mc.submenu_mc && !mainmenu_mc.hitTest(_root._xmouse, _root._ymouse, true)) {CloseSubmenus();}};};
// closes all submenus by removing the submenu_mc
// in the main menu (if it exists)
CloseSubmenus = function () { mainmenu_mc.submenu_mc.removeMovieClip();};
// This actions object handles methods for actions
// defined by the XML called when a menu item is pressed
Actions = Object();
Actions.gotoURL = function(urlVar) {
getURL(urlVar, "_self");
};
Actions.message = function(msg) {
message_txt.text = msg;
};
Actions.newMenu = function(menuxml) {
menu_xml.load(menuxml);
};
// load XML, when done, run CreateMainMenu to interpret it
menu_xml = new XML();
menu_xml.ignoreWhite = true;
menu_xml.onLoad = function(ok) {
// create main menu after successful loading of XML
if (ok) {
CreateMainMenu(10, 10, 0, this);
message_txt.text = "message area";
} else {
message_txt.text = "error: XML not successfully loaded";
}
};
// load first XML menu
menu_xml.load("menu1.xml");
Questo è lo script per realizzare un menù in FlashMx integrato con Xml. Il problema è che mi funziona solo in locale... ossia quando faccio l'upload su internet mi esce il messaggio di errore XML not successfully loaded. Qualcuno può aiutarmi per favore?