The dynamic menu has been described in the Flash 5 Bible. We first create two frames for the menu and all the actionscript, which we distribute over the two frames. For the menubutton we make a movieclip (´menuitem´)containing a button graphic, which we animate. We then insert a dynamic textfield into the graphic, which we name ´textField´. In the ´var´ box for the textfield we enter the variable name ´labelName´. We then make a new movieclip and insert an instance of the menuitem, which we give the name ´menu´. Click on the instance and enter the movieclip name ´menuitemBase´ in the property inspector. Then place an instance of the menu button on the scene in frames 1 and 2 and name this movie clip ´menu´. Next write the actionscript into an external menu and enter this code into an action frame in frame 1:
#include "menu_code.txt"
Enter the following code into an external file, which we call ´menu_code´:
//dynamic menu: code from Flash 5 Bible
//determine the number of buttons and titles to the array
sectionNames = new Array("Carshow","More Cars","My Web Sites");
sectionCount = sectionNames.length;
//space between buttons
menuItemSpacing = 10;
for(i=1;i<=sectionCount;i++){
_root.menu.menuItemBase.duplicateMovieClip("menuItem_"+i, i);
_root.menu["menuItem_"+i].labelName = sectionNames[i-1];
if(i != 1){
_root.menu["menuItem_"+i]._y = _root.menu["menuItem_"+(i-1)]._y +_root.menu["menuItem_"+(i-1)]._height + menuItemSpacing;
}
}
_root.menu.menuItemBase._visible = false;
function checkButtons(){
for(i=1;i<=_root.sectionCount;i++){
currentItem = "menuItem_" + i;
if(currentItem != _root.activeItem){
_root.menu["menuItem_" + i].gotoAndStop(1);
}
}
}
To change the menu just add new titles into the array separated by a comma.