Scriptet er blot:
onClipEvent(data) {
_root.Points = p = new Array();
var s = menu.split("$");
for (i = 0; i < s.length; i++) {
s[i] = s[i].split("?");
if (s[i].length > 1) {
p[i] = {t:s[i][0], ps:s[i].slice(1,s[i].length)};
for (j = 0; j < p[i].ps.length; j++) {
var tmp = p[i].ps[j].split(":");
p[i].ps[j] = {t:tmp[0], fun:tmp[1], arg:tmp[2]};
}
} else {
p[i] = {t:s[i][0]};
}
if (!i) {
t = p[i].t;
} else {
this.duplicateMovieClip("super_" add i, i*20);
}
}
delete s, tmp, i, j, menu;
}
onClipEvent(load) {
nametype = _name.split("_")[0];
namenum = int(_name.split("_")[1]);
p = _root.Points;
if (nametype eq "super") {
open = 0;
_y -= namenum*_height;
t = p[namenum].t;
this["click_" add _name] = function() {
if (!open) {
if (_root.open)
_root.open.collapse();
_root.open = this;
open = 1;
for (i = 0; i < p[namenum].ps.length; i++)
this.duplicateMovieClip("sub_" add namenum add "_" add i, namenum*20+i+1);
} else {
collapse();
}
}
function collapse() {
open = 0;
for (i = 0; i < p[namenum].ps.length; i++)
_root["sub_" add namenum add "_" add i].removeMovieClip();
}
} else {
subnum = int(_name.split("_")[2]);
mySuper = "super_" add namenum;
_x += _width;
if (subnum) {
_y -= subnum*_height;
}
dp = p[namenum].ps[subnum];
t = dp.t;
this["click_" add _name] = function() {
_root[dp.fun](dp.arg);
_root[mySuper].collapse()
}
}
}
Eller blot og blot - det blev jo ret omfattende... :o)
MC indeholder et tekstfelt med navn "t" og en knap, der kalder:
on(release) {
this["click_" add _name]();
}
Tekstfilen indeholder:
menu=Main?Forside:gotoAndStop:1$Referencer?DTU:getURL:
www.dtu.dk?Danmark:getURL:www.danmark.dk$Diverse?Links:gotoAndStop:2?Fun Stuff:gotoAndStop:3?Disney:getURL:
www.disney.com$Hjælp?Om...:gotoAndStop:10Det hele startes med frame action:
loadVariables("arrays.txt",super_0);
Hvor det første mc med ovenstående kode skal hedde super_0
/Barklund