tjeemp
%Europe/Berlin %760 %2007, 18:14
Ik zit al een hele tijd te proberen, maar het lukt me maar niet om de index (i) van een for-loop uit te lezen binnen de onRelease functie die ik in de loop heb zitten.
Heeft dit te maken met de scope waarbinnen de index zit of iets dergelijks?
Het punt is ook dat Actionscript natuurlijk niet terwijl hij door de loop gaat ook door de onRelease functie gaat, dit doet ie pas als je klikt, maar dan is het dus zo dat de index niet juist is omdat dat dan de laatste versie is van die variabele (bij het afronden van de loop dus)
In mijn geval is dat geloof ik 13 of iets dergelijks.
for(var i = 0; i < menuItems.length; i++)
{
menuItems[i][0]._x = 0;
menuItems[i][0]._y = 77 + (i * 10);
menuItems[i][0].thisLabel.menuLabel.text = menuItems[i][1];
menuItems[i][0].onRelease = function()
{
if(select != i)
{
for(n = 0; n < menuItems.length; n++)
{
if(n != i)
{
var moveX:Tween = new Tween(menuItems[n][0].thisLabel, "_x", mx.transitions.easing.Regular.easeOut, menuItems[n][0].thisLabel._x, 91 + 2, 1, true);
var sX:Tween = new Tween(menuItems[n][0].barHandle, "_width", mx.transitions.easing.Regular.easeOut, menuItems[n][0].barHandle._width, 91, 1, true);
}
}
_root.menuPress(i + 1);
this.thisLabel._alpha = 100;
var moveX:Tween = new Tween(this.thisLabel, "_x", mx.transitions.easing.Regular.easeOut, this.thisLabel._x, Stage.width, 1, true);
var sX:Tween = new Tween(this.barHandle, "_width", mx.transitions.easing.Regular.easeOut, this.barHandle._width, Stage.width, 1, true);
}
_global.select = menuItems[i][1];
}
}
Heeft dit te maken met de scope waarbinnen de index zit of iets dergelijks?
Het punt is ook dat Actionscript natuurlijk niet terwijl hij door de loop gaat ook door de onRelease functie gaat, dit doet ie pas als je klikt, maar dan is het dus zo dat de index niet juist is omdat dat dan de laatste versie is van die variabele (bij het afronden van de loop dus)
In mijn geval is dat geloof ik 13 of iets dergelijks.
for(var i = 0; i < menuItems.length; i++)
{
menuItems[i][0]._x = 0;
menuItems[i][0]._y = 77 + (i * 10);
menuItems[i][0].thisLabel.menuLabel.text = menuItems[i][1];
menuItems[i][0].onRelease = function()
{
if(select != i)
{
for(n = 0; n < menuItems.length; n++)
{
if(n != i)
{
var moveX:Tween = new Tween(menuItems[n][0].thisLabel, "_x", mx.transitions.easing.Regular.easeOut, menuItems[n][0].thisLabel._x, 91 + 2, 1, true);
var sX:Tween = new Tween(menuItems[n][0].barHandle, "_width", mx.transitions.easing.Regular.easeOut, menuItems[n][0].barHandle._width, 91, 1, true);
}
}
_root.menuPress(i + 1);
this.thisLabel._alpha = 100;
var moveX:Tween = new Tween(this.thisLabel, "_x", mx.transitions.easing.Regular.easeOut, this.thisLabel._x, Stage.width, 1, true);
var sX:Tween = new Tween(this.barHandle, "_width", mx.transitions.easing.Regular.easeOut, this.barHandle._width, Stage.width, 1, true);
}
_global.select = menuItems[i][1];
}
}