re: csabharp
közben kipróbáltam, a ".loadMovie"-t megjegyzésbe rakva teljesen jól működik az általam javasolt módszer (a "this"-re hivatkozás); egyébként a vasilie által javasolt új "property" ("melyik") felvétele teljesen "felesleges", a "this._name"-mel hivatkozhatsz a "nevére"...
szerintem azért sem működik a kódod, mert az onRollOver eseménykezelőd definiálásával nem várod meg a betöltést (annak a "végét"), a ".loadMovie" lefutásakor, miután betöltődött a tartalom, tiszta lappal indulsz, azaz az előtte definiált eseménykezelők "törlődnek",
megoldás lehet:
1) "konténer" használata, azaz nem magukra a "box" objektumaidra töltesz, hanem azokat "konténernek" használod, és az adott képet az adott "konténerbe" töltöd, pld. egy .createEmptyMovieClip()-pel létrehozol minden "box" objektumodban egy "kep"-et és a ".loadMovie"-val az adott képet abba töltöd;
a te eddigi kódodat alapul véve, pld. így:
for (i=1; i<10; i++) {
_root.box.duplicateMovieClip("box"+i,i);
_root["box"+i]._x += i*75;
_root["box"+i].createEmptyMovieClip("kep", 0);
_root["box"+i]["kep"].loadMovie("kepek/"+i+".jpg");
_root["box"+i].onRollOver=function(){trace(this)}
}
ha "rövidíteni" szeretnél, akkor írhatod:
for (i = 1; i < 10; ++i) {
var b:MovieClip = _root.box.duplicateMovieClip("box" + i, i);
b._x = i * 75;
b.createEmptyMovieClip("kep", 0).loadMovie("kepek/" + i + ".jpg");
b.onRollOver=function(){ trace(this) };
}
2) "MovieClipLoader"-t használsz a betöltéshez, és a betöltések végén adod meg az eseménykezelődet,
3) ...