The forums have permanently moved to forum.kirupa.com. This forum will be kept around in read-only mode for archival purposes. To learn how to continue using your existing account on the new forums, check out this thread.


Results 1 to 2 of 2

Thread: Portfolio problem (xml-->flash)

  1. #1

    Portfolio problem (xml-->flash)

    Hi,

    I am new here at Kirupa. I got a problem with a portfolio I am trying to build for my new site. The portfolio is actually just a little modification of the tutorial named "XML-driven Drop-Down Menu" in the "PHP and XML" category, http://www.kirupa.com/developer/acti...pdown_menu.htm.

    Now, I can only import one field from the XML file at each press in the project-menu. I would like to be able to import 4 texts from each button.

    I would be really glad if someone at least could give me a tip of what I could do.

    /Kristian

    The XML file: http://www.lt-design.com/Laboratory/.../portfolio.php

    The portfolio right now: http://www.lt-design.com/Laboratory/...portfolio.html

    The Actionscript code:
    Code:
     // 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 + i*curr_item._height;
    curr_item.trackAsMenu = true;
     
    // item properties assigned from XML
    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;
     
    // item submenu behavior for rollover event
    if (node_xml.childNodes[i].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);
    };
    }else{ // nodeName == "item"
    curr_item.arrow._visible = false;
    // close existing submenu
    curr_item.onRollOver = curr_item.onDragOver = function(){
    	curr_menu.submenu_mc.removeMovieClip();
    	// show a hover color
    	var col = new Color(this.background);
    	col.setRGB(0xf4faff);
    };
    }
     
    curr_item.onRollOut = curr_item.onDragOut = function(){
    // restore color
    var col = new Color(this.background);
    col.setTransform({ra:100,rb:0,ga:100,gb:0,ba:100,bb:0});
    };
     
    // any item, menu opening or not can have actions
    curr_item.onRelease = function(){
    Actions[this.action](this.variables);
    };
    } // end for loop
    };
    // create the main menu, this will be constantly visible
    CreateMainMenu = function(x, y, depth, menu_xml){
    // generate a menu list
    GenerateMenu(this, "mainmenu_mc", x, y, depth, menu_xml.firstChild);
    // close only submenus if visible durring a mouseup
    // this main menu (mainmenu_mc) will remain
    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, "_blank");
    };
    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(398, 0, 0, this);
    message_txt.text = "message area";
    }else{
    message_txt.text = "error: XML not successfully loaded";
    }
    };
    // load first XML menu
    menu_xml.load("portfolio.php");

  2. #2
    Don't mind this, I solved it myself...

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Home About kirupa.com Meet the Moderators Advertise

 Link to Us

 Credits

Copyright 1999 - 2012