Hi Everyone…
I’ve spent the last day trying to modify this code, but this is the best I could come up with…
I need to have the sub menu to load to the right, without the main menu expanding… I have uploaded my progress… please help
Hi Everyone…
I’ve spent the last day trying to modify this code, but this is the best I could come up with…
I need to have the sub menu to load to the right, without the main menu expanding… I have uploaded my progress… please help
sorry! I cannot where the font are stored in?! plz tell me where to look for.
I check the actionscript! cannot find the fonts name inside?!
anyone??? please???
hi. there.
this is realy cool menu! and great work!
I have couple quastions about “scroll version updated”.
i have flash 8 pro and im loading this menu as external swf to empty movie clip, and it’s wieving all menuitems from xml. I mean it’s chould display about 8 menu items (scrollbar high) not the rest
im try’n to make mask but, txt from menu items gone!
sorry for my english, i hope it’s quite understanding
mabe screenhots will help
draw a picture paulie_h
Hi,
this is what i’m roughly trying to design…
finally find the fonts embred! thanks for the menu!
About the Transition for the V3 Menu, I click the first button, it loads the movie, when the movie still playing, How can I disable the buttons function which the button enable again when the outro movie finish?!>!?!
I am very new to this flash action scripts! thanks in advance.
I also try to put the Photo Gallery Using XML and Flash in to one of the transition, find out that the XML menu’s publish setting is using Flash Player 6 with ActionScript1.0 , and the **Photo Gallery Using XML and Flash’**s publish setting is using Flash Player 7 with ActionScript2.0, which makes the menu would not load the transition of "Selection 1 … " if I had click on the the gallery!!!
I try to change the XML menu’s publish setting to FP7, AS2.0, then it display error!
any idea to make this TOTAL XML gallery working?!??!!?
please help
I tried to figure this problem out before posting but there were only half answers. How do you change the font? I read that someone did it by Embedding but I’m going crazy trying to figure out how to do this. Any help would be appreciated.
Thanks for all the kind words
Im happy to know that this thread continues to help people understand actionscript/xml better.
About fonts, please explain and I will help. Embeding the font is NOT the same as changing the font. Which are you after?
Changing the font, my bad hehe. Also, thank you for the script, its opened another realm of Flash for me that I intend on pursuing (XML).
hello hga,
this menu is fantastic, i have sat for days to try and make this menu horizontal like the image i have posted, may you be able to help? i can move the columns but the menu still expands below, and that is not necessary… it’s confusing me
can anyone help me with the transition problem on the menu V3, the problem is that when I click on button 1 for example, it play the movie, then I press the button again, it would not load anything, which the button1 movie still playing.
anyone tell me how to disable the button function, when the movie still playing, after it stop, and it will re enable the button.
my publish setting is FlashPlayer 6 AS1.
Thanks for the nice menu Hga! I really love it!
Sorry! I have more problem!
I tried to creat my transition swf in the sub sub menu , but after it finish the movie, I get back to main menu, to play around the menu buttons, then I tried to access the sub sub menu, the fonts disappear?!
it becomes crash!
can anyone help me how to refresh the “menu” on top Home in the flash?! or reload everthing again!?!
I tried to put this XML menu and XML gallery together, but it seems that after the xml gallery transition done, the xml menu’s font display become problem!
I’m trying to use this incredible menu but having problems when I want display accentuated letters or special characters. It simply doesn’t show them. Is it a problem of the xml file, or have to modify the code in flash (of course I used character set that contain these special characters and embedded them).
Maybe this is just a silly question, but I spent the time and wasn’t able to solve the problem. Maybe there’s no solution at all.
If you have any idea please share it with us.
can anyone kindly help me on this issue?!
" just need to refresh the menu, ever time they click the buttons! "
any idea?!
please help me with my horizontal headache someone!!
it’s all cool, worked it out
selectItem(1)
[quote=Robyee;1982487]Try to explain in simple way…
There is a way to start the “Xml_menu _with_downstate” with the first item allready down ?[/quote]
just curious, any expert can help modify the v3 menu with multiple open sub menu sections? Currently it opens one and collapse another.
Thanks in advance…
For some reason it wont let me open a new page… i’m using the target path…(?)
I’m using menu V3…
first frame code:
/**************
Xml Menu v3
By hga77
11/07/2004
**************/
stop();
var contentFile = “xmlstuff/menuContent.xml”;
var configFile = “xmlstuff/menuConfig.xml”;
contentXML = new XML();
configXML = new XML();
contentXML.varTarget = this;
configXML.ignoreWhite = contentXML.ignoreWhite = true;
contentXML.onLoad = function (success)
{
if (success)
{
var vt = this.varTarget;
var root = this.firstChild;
vt.menuObj = new Object();
var i, j, k, m, h, a;
(i = root.lastChild, j = 1);
while (i != null)
{
vt.menuObj["item" + j] = new Object();
vt.menuObj["item" + j].name = i.attributes.name;
vt.menuObj["item" + j].action = typeof(i.attributes.action) == "undefined" ? null : i.attributes.action;
vt.menuObj["item" + j].sub = false;
if (i.hasChildNodes())
{
vt.menuObj["item" + j].sub = true;
(k = i.lastChild, m = 1);
while (k != null)
{
vt.menuObj["item" + j]["sub" + m] = new Object();
vt.menuObj["item" + j]["sub" + m].name = k.attributes.name;
vt.menuObj["item" + j]["sub" + m].action = typeof(k.attributes.action) == "undefined" ? null : k.attributes.action;
vt.menuObj["item" + j]["sub" + m].subsub = false;
if (k.hasChildNodes())
{
vt.menuObj["item" + j]["sub" + m].subsub = true;
(h = k.lastChild, a = 1);
while (h != null)
{
vt.menuObj["item" + j]["sub" + m]["subsub" + a] = new Object();
vt.menuObj["item" + j]["sub" + m]["subsub" + a].name = h.attributes.name;
vt.menuObj["item" + j]["sub" + m]["subsub" + a].action = h.attributes.action;
(h = h.previousSibling);
a++;
}
vt.menuObj["item" + j]["sub" + m].Number_SubSubs = a - 1;
}
(k = k.previousSibling);
m++;
}
vt.menuObj["item" + j].Number_Subs = m - 1;
}
(i = i.previousSibling);
j++;
}
_global.Number_Items = j - 1;
vt.play();
}
else
{
trace("ERROR PARSING XML");
}
};
function loadContent()
{
contentXML.load(contentFile);
}
configXML.onLoad = function (success)
{
if (success)
{
var root = this.firstChild;
configObj = new Object();
configObj.menuSpeed = root.attributes.menuSpeed;
configObj.menuSpacer = root.attributes.menuSpacer;
configObj.colorSpeed = root.attributes.colorSpeed;
allLevels = root.childNodes;
for(var i=0; i<allLevels.length; i++)
{
configObj[allLevels*.nodeName] = new Object;
configObj[allLevels*.nodeName].overColor = allLevels*.attributes.overColor;
configObj[allLevels*.nodeName].outColor = allLevels*.attributes.outColor;
configObj[allLevels*.nodeName].downColor = allLevels*.attributes.downColor;
configObj[allLevels*.nodeName].delay = allLevels*.attributes.delay;
}
loadContent();
}
else
{
trace(“ERROR PARSING XML”);
}
}
configXML.load(configFile);
2nd frame:
onClipEvent (load)
{
function executeAction(action, targetType)
{
trace(targetType);//you can delete this line!
if (targetType == “url”)
{
getURL( url, “_blank”);
//uncomment above line to use getURL if targetType==“url”
}
else if (targetType == “non_url”)
{
//loadMovie( action , _parent.content);
//uncomment above line to use loadMovie if targetType==“non_url”
}
}
function selectItem(itemType, item)
{
if(itemType == "item")
{
curSub = null;
if (this[item].action != null && curItem != item)
{
executeAction(this[item].action);
}
if (this[item].sub == false || curItem == item)
{
curItem = null;
removeSub();
}
else
{
curItem = item;
buildSub(item);
}
}
else if(itemType == "sub")
{
if (subholder[item].action != null && curSub != item)
{
executeAction(subholder[item].action);
}
if (subholder[item].subsub == false || curSub == item)
{
curSub = null;
removeSubSub();
}
else
{
curSub = item;
buildSubSub(item);
}
}
}
function buildSub(item)
{
var i;
var s;
var j;
var d = 0;
totalSubs = this[item].totalSubs;
this.attachMovie("subholder", "subholder", 100);
var k = this.subholder;
var Present_item = (Number_Items - item) + 1;
var Present_sub = totalSubs;
for (i = 1; i<=totalSubs; i++)
{
k.attachMovie("sub", i, d);
s = k*;
s.outColor = configObj.sub.outColor;
s.overColor = configObj.sub.overColor;
s.downColor = configObj.sub.downColor;
s._x = 20;
s._y = (s._height + menuSpacer) * d;
s.name = menuObj["item"+Present_item]["sub"+Present_sub].name;
s.action = menuObj["item"+Present_item]["sub"+Present_sub].action;
s.totalSubSubs = menuObj["item"+Present_item]["sub"+Present_sub].Number_SubSubs;
s.subsub = menuObj["item"+Present_item]["sub"+Present_sub].subsub;
s.basey = s._y;
if (!s.subsub){s.iconSub._visible = false;}
d++;
Present_sub--;
}
k._y = this[item].basey + this[item]._height + menuSpacer;
var currentItem = 1;
for (i in menuObj)
{
j = this[currentItem];
if (this[item]._y < j._y){j.target = j.basey + k._height + menuSpacer;}
else{j.target = j.basey;}
currentItem++;
}
subholderHeight = subholder._height;
onenterframe = itemAnimation;
}
function itemAnimation()
{
var i;
var j;
var k = true;
var currentItem = 1;
for (i in menuObj)
{
j = this[currentItem];
j._y = j._y + (j.target - j._y) / menuSpeed;
if (menuTolerance < Math.abs(j.target - j._y)){k = false;}
else{j._y = j.target;}
currentItem++;
}
if (k)
{
onenterframe = null;
if (curItem != null)
{
subholder.activate(totalSubs, subDelay);
}
}
}
function buildSubSub(item)
{
var i;
var s;
var j;
var d = 0;
totalSubSubs = subholder[item].totalSubSubs;
subholder.attachMovie("subsubHolder", "subsubHolder", 100);
var k = subholder.subsubHolder;
var Present_item = (Number_Items - curItem) + 1;
var Present_sub = (totalSubs - item) + 1;
var Present_subsub = totalSubSubs;
for (i=1; i<=totalSubSubs; i++)
{
k.attachMovie("subsub", i, d);
s = k*;
s.outColor = configObj.subsub.outColor;
s.overColor = configObj.subsub.overColor;
s.downColor = configObj.subsub.downColor;
s.name = menuObj["item"+Present_item]["sub"+Present_sub]["subsub"+Present_subsub].name;
s.action = menuObj["item"+Present_item]["sub"+Present_sub]["subsub"+Present_subsub].action;
s._x = 20;
s._y = (s._height + menuSpacer) * d;
d++;
Present_subsub--;
}
k._y = subholder[item].basey + Math.floor(subholder[item]._height) + menuSpacer;
for (i = 1; i<=totalSubs; i++)
{
j = subholder*;
if (subholder[item]._y < j._y){j.target = j.basey + k._height + menuSpacer}
else{j.target = j.basey;}
}
var currentItem = 1;
addPortion = subholder.subsubHolder._height+subholderHeight + menuSpacer;
for (i in menuObj)
{
j = this[currentItem];
if (this[curItem]._y < j._y){j.target = j.basey + addPortion + menuSpacer;}
else{j.target = j.basey;}
currentItem++;
}
onenterframe = subAnimation;
}
function subAnimation()
{
var i;
var j;
var k = true;
for (i = 1; i<=totalSubs; i++)
{
j = subholder*;
j._y = j._y + (j.target - j._y) / menuSpeed;
if (menuTolerance < Math.abs(j.target - j._y)){k = false;}
else{j._y = j.target;}
}
var currentItem = 1;
for (i in menuObj)
{
j = this[currentItem];
j._y = j._y + (j.target - j._y) / menuSpeed;
if (menuTolerance < Math.abs(j.target - j._y)){k = false;}
else{j._y = j.target;}
currentItem++;
}
if (k)
{
onenterframe = null;
if (curSub != null)
{
subholder.subsubHolder.activate(totalSubSubs, subsubDelay);
}
}
}
function removeSub()
{
this.subholder.removeMovieClip();
var currentItem = 1;
for (i in menuObj)
{
this[currentItem].target = this[currentItem].basey;
currentItem++;
}
onenterframe = itemAnimation;
}
function removeSubSub()
{
var i;
subPortion = subholderHeight + menuSpacer;
this.subholder.subsubHolder.removeMovieClip();
for (i=1;i<=totalSubs;i++){subholder*.target = subholder*.basey;}
for (i=1; i<=Number_Items; i++)
{
if(this[curItem]._y < this*._y){this*.target = this*.basey + subPortion;}
}
onenterframe = subAnimation;
}
MovieClip.prototype.activate = function(loopTo, delayTime)
{
var d = 0;
for (i=1;i<=loopTo;i++)
{
this*.start = getTimer();
this*.delay = delayTime * d;
this*.gotoAndPlay(3);
d++;
}
}
var menuObj = _parent.menuObj;
var configObj = _parent.configObj;
var menuTolerance = 1;
var menuSpacer = parseInt(configObj.menuSpacer);
var menuSpeed = parseInt(configObj.menuSpeed);
var subsubDelay = parseInt(configObj.subsub.delay);
var subDelay = parseInt(configObj.sub.delay);
var itemDelay = parseInt(configObj.item.delay);
var curItem = null;
var curSub = null;
var onenterframe = null;
var Present_item = Number_Items;
_global.colorSpeed = parseInt(configObj.colorSpeed)*100;
_global.activeItem;
_global.activeSub;
_global.activeSubSub;
for (var d = 1; d<=Number_Items; d++)
{
this.attachMovie("item", d, d);
k = this[d];
k.outColor = configObj.item.outColor;
k.overColor = configObj.item.overColor;
k.downColor = configObj.item.downColor;
k._x = 20;
k._y = (k._height + menuSpacer) * d;
k.name = menuObj["item" + Present_item].name;
k.action = menuObj["item" + Present_item].action;
k.totalSubs = menuObj["item"+Present_item].Number_Subs;
k.sub = menuObj["item" + Present_item].sub;
k.basey = k._y;
if (!k.sub){k.icon._visible = false;}
Present_item--;
}
this.activate(Number_Items, itemDelay);
}
onClipEvent (enterFrame){onenterframe();}
Help!!!
SWEET FILE!!! Great work
:: Copyright KIRUPA 2024 //--