PDA

Volledige versie bekijken : variabele parsen


houtwurm
%Europe/Berlin %678 %2005, 16:16
ik probeer een variabele mee te geven aan meerdere placeholders met daarin een movie geladen:
_root["my_ldr"+i].template = i;
nu probeer ik in deze movie de variabele weer te geven:
trace ("template: "+this.template);
ik krijg als resultaat van de trace:
template: undefined

Wat doe ik fout?

Cowerd
%Europe/Berlin %691 %2005, 16:35
waar staat this voor? voor de root of een mc?

Roenes
%Europe/Berlin %693 %2005, 16:38
Waarschijnlijk geef je de template var op direct na het laden van je movie. Dit gaat niet werken want zodra je movie is ingeladen vervallen alle acties en variabelen van die movieclip. Je moet wachten tot je movie geladen is, dan template toewijzen en dan werkt het :)

houtwurm
%Europe/Berlin %707 %2005, 16:58
ik snap er niks van...
ik laad de movie door middel van een preloader:


loadmovie = _root["template"+i]+".swf";
debug01.text = i+" van "+numsheets+": "+loadmovie;
/**
Requires:
- ProgressBar component in library
- Loader component in library
*/
System.security.allowDomain(saveurl);
this.createClassObject(mx.controls.Loader, ["my_ldr"+i], (10+i), {autoLoad:false});
this.createClassObject(mx.controls.ProgressBar, ["my_pb"+i], (50+i), {indeterminate:true, source:my_ldr, mode:"polled"});
//Create Listener Object
var ldrListener:Object = new Object();
ldrListener.complete = function(evt_obj:Object) {
nextFrame();
};
//Add Listener
_root["my_ldr"+i].addEventListener("complete", ldrListener);
//Set progress bar settings
_root["my_pb"+i].setStyle("themeColor", "haloGreen");
_root["my_pb"+i].source = _root["my_ldr"+i];
_root["my_pb"+i].move(440, 400);
_root["my_pb"+i].label = "BEZIG MET LADEN "+i+"%3%%";
//my_pb.mode = "polled";
_root["my_pb"+i].conversion = "1";
_root["my_pb"+i].direction = "right";
_root["my_pb"+i].labelPlacement = "bottom";
//my_pb.indeterminate = true;
//Set loader settings
_root["my_ldr"+i].move(0, 0);
_root["my_ldr"+i].autoLoad = false;
_root["my_ldr"+i].scaleContent = false;
_root["my_ldr"+i]._visible = false;
_root["my_ldr"+i].load(loadmovie);
stop();


in het volgende frame staat:

[as]
_root["my_ldr"+i].template = i;
if (i < numsheets) {
i++;
prevFrame();
} else {
gotoAndPlay("play");
}
[\as]

en hij blijft "undefined" teruggeven...