Hello everyone! I’m currently hacking away at this code that i found here on kirupa. I was wonder how to hack this code so that the menu that’s displayed show’s up horzontal in stead of vertical. I’m pretty new to XML and AS, so please be as clear as possible. Also is there a way to include functions in this same code that will display .jpg images when a particular button is pressed?
Thank you all,
SpyGuy
// 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) {
// variable declarations
var curr_node;
var curr_item;
var curr_menu = container.createEmptyMovieClip(name, depth);
}
// for all items or XML nodes (items and menus)
// within this node_xml passed for this menu
for (var i=0; i<node_xml.childNodes.length; i++) {
// movieclip for each menu item
curr_item = curr_menu.attachMovie(“menuitem”,“item”+i+"_mc", i);
curr_item._x = x;
curr_item._y = y + icurr_item._height;
curr_item.trackAsMenu = true;
}
// item properties assigned from XML
curr_node = node_xml.childNodes;
curr_item.action = curr_node.attributes.action;
curr_item.variables = curr_node.attributes.variables;
curr_item.name.text = curr_node.attributes.name;
// item submenu behavior for rollover event
if (node_xml.childNodes*.nodeName == "menu"){
// open a submenu
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);
}
// show a hover color
var col = new Color(this.background);
col.setRGB(0xf4faff);
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 + icurr_item._height;
curr_item.trackAsMenu = true;
curr_node = node_xml.childNodes;
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*.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();
};
}
};
Createmainmenu = function(x, y, depth, menuxml){
GenerateMenu(this, “mainmenu_mc”, x, y, depth, menuxml.firstChild);
mainmenu_mc.onMouseUp = function(){
if (mainmenu_mc.submenu_mc && !mainmenu_mc.hitTest(_root._xmouse, _root._ymouse, true)){
CloseSubmenus();
}
};
};
CloseSubmenus = function(){
mainmenu_mc.submenu_mc.removeMovieClip();
};
Actions = Object();
Actions.gotoURL = function(urlVar){
getURL(urlVar, “_blank”);
};
Actions.message = function(msg){
message_txt.text = msg;
};
Actions.newMenu = function(menuxml){
menu_xml.load(menuxml);
};
menuxml = new XML();
menuxml.ignoreWhite = true;
menuxml.onLoad = function(ok){
if (ok){
Createmainmenu(10, 10, 0, this);
message_txt.text = “message area”;
}else{
message_txt.text = “error: XML not successfully loaded”;
}
};
menuxml.load(“menu1.xml”)