PDA

Volledige versie bekijken : Waardes doorgeven aan dynamische menu


weevers
%Europe/Berlin %374 %2006, 09:59
Met het ondertaande script word een dynamische menu gegenereerd.
Het lukt mij niet om de juiste waarde door te geven aan de functie itemClicked

var spacing:Number = menu_mc._width+2;
i = 1;
spacing = _root.button._height+4;
while (++i<10) {
name = "mc"+i;
mc = button.duplicateMovieClip(name, i);
mc._y = i*spacing;
mc._x = 0;
mc.onRelease = function() {
itemClicked(this.i);
};
}
function itemClicked(id:Number) {
trace(id);
}

renegeuze
%Europe/Berlin %386 %2006, 10:16
allereerst klopt je while loop niet. Hier heb ik even een for loop van gemaakt. Daarna kan je beter niet i gebruiken om je depth in te stellen omdat depth i al bezet kan zijn.
Ook wertkt this.i niet omdat deze niet bestaat binnen de mc. Dus ook die heb ik even toegevoegd(met een andere naam dan i)

var spacing:Number = button._height+4;
for (var i:Number = 0; i<10; i++) {
myName = "mc"+i;
mc = button.duplicateMovieClip(myName, this.getNextHighestDepth());
mc._y = i*spacing;
mc._x = 0;
mc.id = i;
mc.onRelease = function() {
itemClicked(this.id);
};
}
function itemClicked(id:Number) {
trace(id);
}

renegeuze
%Europe/Berlin %388 %2006, 10:19
Ik had al een verhaaltje getypt toen ik zag dat je flash mx had.
Dus ik heb even de publish settings aangepast en het volgende zou moeten werken

var spacing:Number = button._height+4;
for (var i:Number = 0; i<10; i++) {
myName = "mc"+i;
mc = button.duplicateMovieClip(myName, i);
mc._y = i*spacing;
mc._x = 0;
mc.id = i;
mc.onRelease = function() {
itemClicked(this.id);
};
}
function itemClicked(id:Number) {
trace(id);
}

weevers
%Europe/Berlin %401 %2006, 10:38
Helaas werkt dit niet, mijn menu wordt niet meer gegenereerd en als output krijg ik undefined

weevers
%Europe/Berlin %426 %2006, 11:14
Top hij doet 't :D