PDA

Volledige versie bekijken : Wat kan ik doen om een variabele niet als reference te definieren?


MECHT4NK
%Europe/Berlin %664 %2008, 16:57
Met de onderstaande loop maak ik thumbnails aan voor een fotoalbum. Ook definieer ik voor elke thumbnail een onRelease functie; deze functie wordt opgeslagen in de Thumbnail klasse en aangeroepen wanneer er op de door de Thumbnail klasse gegenereerde movieclip geklikt wordt.

Het lukt me echter met geen mogelijkheid de juiste uri in de functie te plaatsen, doordat de loop afgelopen is voordat er geklikt kan worden zal this.itsPictures[i] altijd naar this.itsPictures[length - 1] blijven verwijzen. Heeft iemand een idee hoe ik dit kan omzeilen?

for (var i:Number = 0; i < this.itsPictures.length; i++) {
var pic:Picture = this.itsPictures[i],
thumb:Thumbnail = new Thumbnail(b);
thumb.setThumbnail(pic.getSource(), 20);
thumb.onRelease = function() {
p.loadMovie("image.php?width=600&height=450&uri=" + pic.getSource());
}

thumb.getContainer()._x = 24 + (26 * i);
thumb.getContainer()._y = 5;
}

Jan
%Europe/Berlin %684 %2008, 17:25
Je moet die var opslaan in je thumb via iets als:
thumb.picture=this.itsPictures[i]
en dan kan je binnen de onPress tracen:
thumb.onPress=function
{
trace(this.picture);
}

Groeten,
Jan

MECHT4NK
%Europe/Berlin %686 %2008, 17:28
Ja over een dergelijke oplossing heb ik inderdaad al nagedacht maar ik zou m'n Thumbnail klasse graag ook herbruikbaar houden voor andere doeleinden; bijvoorbeeld om een link naar een fotoalbum te maken. Daarom was het makkelijker geweest als ik per thumbnail een functie kon definiëren.

Bedankt voor de reactie :)