all groups > flash actionscript > november 2006 >
You're in the

flash actionscript

group:

Collapsing menu from array



Re: Collapsing menu from array CoDo
11/29/2006 1:51:03 PM
flash actionscript: It is inthe Flash sample files on your HDD
Collapsing menu from array breez11
11/29/2006 9:00:54 PM
I need to create a dynamic collapsing menu from an array. so far I have the
array and first level of the menu working. Now I need to create the
functionality of the subMenu and I am stumped. Is there any good references out
there that might be able to walk me through this process? Here is my code and
my source file

var menuItem:Array = new Array();
menuItem[0] = {label:"ANIMUS", link:"#"};
menuItem[0].subMenuItem = new Array();
menuItem[0].subMenuItem[0] = {label:"HISTÓRIA", link:"http://www.kirupa.com"};
menuItem[0].subMenuItem[1] = {label:"EQUIPE",
link:"http://www.actionscript.org"};
menuItem[0].subMenuItem[2] = {label:"PREMIAÇÃO",
link:"http://www.actionscript.com"};
menuItem[1] = {label:"CLIENTES", link:"http://www.flashpope.com"};
menuItem[2] = {label:"PORTIFÓLIO", link:"#"};
menuItem[2].subMenuItem = new Array();
menuItem[2].subMenuItem[0] = {label:"BRANDING", link:"movies/branding.swf"};
menuItem[2].subMenuItem[1] = {label:"EMBALAGEM", link:"movies/embalagem.swf"};
menuItem[2].subMenuItem[2] = {label:"MERCHANDISING",
link:"movies/merchandising.swf"};
menuItem[2].subMenuItem[3] = {label:"AMBIENTE DE",
link:"movies/ambiente_de.swf"};
menuItem[2].subMenuItem[4] = {label:"VAREJO", link:"movies/varejo.swf"};
menuItem[3] = {label:"DESIGN ESTRATÉGICO",
link:"movies/design_estrategico.swf"};
menuItem[4] = {label:"CONTATO", link:"movies/contato.swf"};
////////////////////////////////////////////////
////////////////////////////////////////////////
var xPos = 19;
var yPos = 45;
for (i=0; i<menuItem.length; i++) {
attachMovie("container", "new"+i, i, {_x:xPos, _y:yPos});
yPos += this["new"+i]._height;
this["new"+i].label_txt.text = menuItem[i].label;
this["new"+i].url_btn._url = menuItem[i].link;
trace(menuItem[i].link);
}
////////////////////////////////////////////////
Re: Collapsing menu from array breez11
11/29/2006 9:49:45 PM
here is my awful attempt that broke everything apart

var xPos = 19;
var yPos = 45;
var subXPos = 100;
var subYPos = 13;
for (i=0; i<menuItem.length; i++) {
attachMovie("container", "new"+i, i, {_x:xPos, _y:yPos});
yPos += this["new"+i]._height;
this["new"+i].label_txt.text = menuItem[i].label;
this["new"+i].url_btn._url = menuItem[i].link;
if (menuItem[i].subMenuItem.length>=0) {
j = 0;
j<menuItem[i].subMenuItem.length;
j++;
attachMovie("subContainer", "subNew"+j, j, {_x:subXPos, _y:subYPos});
yPos += this["subNew"+j]._height;
this["subNew"+j].subLabel_txt.text = menuItem[i].subMenuItem[j].label;
this["subNew"+j].subUrl_btn._url = menuItem[i].subMenuItem[j].link;
}
trace(menuItem[i].link);
trace(menuItem[i].subMenuItem[j].link);
}
Re: Collapsing menu from array breez11
11/29/2006 11:22:09 PM
I got the subMenuItem.links to output with a trace function but I noticed they
output above the menuItem.link. Still haven't figured out how to place them
under the corresponding menuItem. Any Suggestions please
Re: Collapsing menu from array breez11
11/30/2006 12:17:48 AM
Sorry I noticed errors in code and in the fla. If you have looked at this
please check out the new one. The nested array is partially loading but then I
loose the links that are above it. Here is the updated fla which can be found
at the link above and code

/////////////////////////////////////////
//////////////// VARS ////////////////
/////////////////////////////////////////
var xPos = 20;
var yPos = 40;
var subXPos = curPos+10;
var subYPos = curPos+10;
var curPos = menuItem[i].height;
/////////////////////////////////////////
//////////////// ARRAY ////////////////
/////////////////////////////////////////
var menuItem:Array = new Array();
menuItem[0] = {label:"ANIMUS", link:"#"};
menuItem[0].subMenuItem = new Array();
menuItem[0].subMenuItem[0] = {label:"HISTÓRIA", link:"movies/historia.swf"};
menuItem[0].subMenuItem[1] = {label:"EQUIPE", link:"movies/equipe.swf"};
menuItem[0].subMenuItem[2] = {label:"PREMIAÇÃO", link:"movies/premiacao.swf"};
menuItem[1] = {label:"CLIENTES", link:"http://www.google.com"};
menuItem[2] = {label:"PORTIFÓLIO", link:"#"};
menuItem[2].subMenuItem = new Array();
menuItem[2].subMenuItem[0] = {label:"BRANDING", link:"movies/branding.swf"};
menuItem[2].subMenuItem[1] = {label:"EMBALAGEM", link:"movies/embalagem.swf"};
menuItem[2].subMenuItem[2] = {label:"MERCHANDISING",
link:"movies/merchandising.swf"};
menuItem[2].subMenuItem[3] = {label:"AMBIENTE DE",
link:"movies/ambiente_de.swf"};
menuItem[2].subMenuItem[4] = {label:"VAREJO", link:"movies/varejo.swf"};
menuItem[3] = {label:"DESIGN ESTRATÉGICO",
link:"movies/design_estrategico.swf"};
menuItem[4] = {label:"CONTATO", link:"movies/contato.swf"};
/////////////////////////////////////////
// CREATING BUTTONS AND ATTRIBUTES ////
/////////////////////////////////////////
for (i=0; i<menuItem.length; i++) {
attachMovie("container", "new"+i, i, {_x:xPos, _y:yPos});
yPos += this["new"+i]._height;
this["new"+i].label_txt.text = menuItem[i].label;
this["new"+i].url_btn._url = menuItem[i].link;
if (menuItem[i].subMenuItem.length>=0) {
for (j=0; j<menuItem[i].subMenuItem.length; j++) {
attachMovie("subContainer", "subNew"+j, j, {_x:xPos, _y:yPos});
yPos += this["subNew"+j]._height;
this["subNew"+j].subLabel_txt.text = menuItem[i].subMenuItem[j].label;
this["subNew"+j].subUrl_btn._url = menuItem[i].subMenuItem[j].link;
trace(menuItem[i].subMenuItem[j].link);
}
}
trace(menuItem[i].link);
}
AddThis Social Bookmark Button