Volledige versie bekijken : setInterval in for-loop in Class
Nidd
%Europe/Berlin %825 %2007, 20:49
Hey!
Ik heb een probleem (zie topic naam).
Ik heb al gevonden dat je setInterval kunt gebruiken door er een private property van te maken in de class. Alleen maak ik een hele reeks intervallen aan mbv een for-loop. Dus bijvoorbeeld interval1 t/m interval10. Dit aantal varieert. Is hier een andere manier voor? Want om nou overal properties van te gaan maken...
Mvg,
Niels. :)
Dauntless
%Europe/Berlin %917 %2007, 23:01
Ik snap er nagenoeg niets van :p.
Try again ? :)
Erwinzzz
%Europe/Berlin %934 %2007, 23:25
Als het een uitbreiding is op de vraag die je me vanmiddag stelde, ik denk dat je het beste het zo kan doen:
class MijnClass{
private var _intervalManager:Object = new Object();
public function MijnClass(aantal:Number){
for(var i:Number = 0; i<aantal;i++){
_intervalManager["interval"+i] = setInterval(mijnFunctie,1*1000,i,_intervalManager["interval"+i]);
}
}
private function mijnFunctie(i:Number,intervalName:Number){
trace(i);
intervalName.removeInterval();
}
}
Ik laat ze in een object zetten omdat ze zo private zijn.
Nidd
%Europe/Berlin %423 %2007, 11:10
Hey,
Dit heb ik gedaan nu, maar het werkt nogsteeds niet. Als ik de private properties trace in de method die in aanroep met setInverval krijg ik undefined. Dit doe ik nu:
for (var i:Number = this.currentNumber; i<this.totalNumber; i++) {
this.intervals["downInterval"+i] = setInterval(create, this.counter*this.downInterval, i);
counter++
}
Als ik achter create '()' plaats doet hij al iets meer, dan kan ik de properties ook tracen, maar ik vind het heel raar, want overal staat dat het zo hoort. Doe ik nog iets fout?
Niels.
rackdoll
%Europe/Berlin %456 %2007, 11:56
wat je moet doen is hem declareren bovenaan en maak er dan gewoon een public van
Dan ben je gelijkk van het gezeik af.. Blijkbaar mag hij niet private
rackdoll
%Europe/Berlin %456 %2007, 11:57
Zoiezo vindt ik zoveel intervallen aanroepen een beetje raar om eerlijk te zijn.
Zijn het intervallen met verschillene waardes ofzoew? Want als ze allemaal dezelfde tijd hebben kan je net zo goed 1 gebruiken
Nidd
%Europe/Berlin %464 %2007, 12:08
Hey,
Ik heb het probleem gevonden. Een setInterval-functie ziet de properties van de klasse niet. Het moet zo zijn:
for (var i:Number = this.currentNumber; i<this.totalNumber; i++) {
this.intervals["downInterval"+i] = setInterval(this, "create", this.counter*this.downInterval, i);
this.counter++;
}
Niels.
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.