PDA

Volledige versie bekijken : LoadVars


meester
%Europe/Berlin %531 %2005, 13:45
var dateVars = new LoadVars();
dateVars.onLoad = function(ok){
if(ok){
var newY:Number = 0;
for(i:Number=1; i <= dateVars.aantal;i++){
var test = _root.target.attachMovie("mc", "mc"+i, i);
test._y = newY;
newY += 25;
}

}
}
dateVars.load("date.txt");

//dit herkent tie niet!!! wat doe ik verkeerd?
_root.target.mc1._alpha = 10;

alles werkt en hij zet de mc onder elkaar, maar ik kan blijkbaar op de manier hierboven de mc's apart niet meer bedienen met events, iemand oplossing?

Laiverd
%Europe/Berlin %533 %2005, 13:48
Hoe hang je de events eraan dan? Wat me trouwens verbaast is dat dateVars.aantal werkt, omdat de waarde van aantal nl. als string binnenkomt en je 'm nergens naar Number converteert.

John

meester
%Europe/Berlin %544 %2005, 14:03
ieder geval die aantal had ik getest, met trace > dit werkt dus blijkbaar....
Maar uhhm hoe zou ik zoiets in de toekomst moeten converten volgens jou...

en een event eraan hangen is bijv:

_root.target["mc1"].onRollOver = function(){
trace ("event!");
}

maar dit herkent tie dus niet, dus mij vraag is doe ik het op deze manir goed ?

Nowan
%Europe/Berlin %562 %2005, 14:30
het is volgens mij

_root.target["mc"+i]

denk ik...

Dauntless kan dit wel oplossen :p

meester
%Europe/Berlin %569 %2005, 14:40
nee dat is hem niet, alles is al uit de for statement, dus i:Number is niet meer.

Ik heb het geleerd om hem _root.target.mc1.onPress = function(){ blalbal } te doen maar dit werkt gewoon niet...

theFlashWizard
%Europe/Berlin %691 %2005, 17:35
dateVars.aantal komt uit dat text bestand?
als je daar nou is gewoon aantal van maakt of this.aantal.. werkt dat?

Laiverd
%Europe/Berlin %721 %2005, 18:19
ieder geval die aantal had ik getest, met trace > dit werkt dus blijkbaar....
Ja die trace die zal best werken; voor de trace() functie maakt het niet uit wat ie naar het output venster moet poepen. Maar ik denk dat trace(typeof this.aantal), je String oplevert.
Anyway: converteren is simpel.
// in je onLoad handler
this.aantal = Number(this.aantal);Om er een event aan te hangen, moet je naar iedere mc een aparte referentie maken, omdat anders iedere mc hetzelfde event krijgt, nl van de laatste mc ;) Dat werkt ongeveer als volgt (ff uit het hoofd en niet gecheckt, maar werkende voorbeelden zijn in de afgelopen weken hier wel eens gepost)
plop = _root.target["mc"+i];
plop.onRelease = function(){
blah();
}
// verbeter maar jongens, want dit is niet de goede code ;)John

meester
%Europe/Berlin %750 %2005, 19:00
var dateVars = new LoadVars();
dateVars.onLoad = function(ok){
if(ok){
var newY:Number = 0;
for(i:Number=1; i <= dateVars.aantal;i++){
var test = _root.target.attachMovie("mc", "mc"+i, i);
test._y = newY;
newY += 25;
trace(test);
}
// hier het stukje waardoor het nu wel werkt plaats je deze code onderaan gaat het niet lukken.
_root.target.mc1.onPress = function():Void{
trace("ja!");
}
}
}
dateVars.load("date.txt");

// en ja die aantal komt uit een txt bestandje, schijnt gewoon te werken zo :)

Gerrit55
%Europe/Berlin %775 %2005, 19:37
var dateVars = new LoadVars();
dateVars.onLoad = function(ok){
if(ok){
var newY:Number = 0;
for(i:Number=1; i <= dateVars.aantal;i++){
var test = _root.target.attachMovie("mc", "mc"+i, i);
test._y = newY;
test.onPress = function() {
trace("Ja");
}
newY += 25;
trace(test);
}
}
}
dateVars.load("date.txt");