[ Tiha Baba @ 23.07.2008. 22:33 ] @
Napisao sam funkciju koja uchitava thumbnailove. Kod je sledeci:
Code:

function loadThumbs(result:LoadVars):Void {
    if(result.number_of_hits == 0) {
        trace ("nema nadjenih");
    } else {
        for (var i=1 ; i<=result.number_of_hits; i++) {
            var mcLoader:MovieClipLoader = new MovieClipLoader();
            var container:MovieClip = this.createEmptyMovieClip("container" + i, this.getNextHighestDepth());
            mcLoader.loadClip("d:/www/image_path/images/thumbs/" + eval("result.id" + i), container);
            aThumbs[i] = container;
            container._x =70*i +20;
            container._y =10 + 70;
            pre_number_of_hits = result.number_of_hits;        
        }
    }
}


Pozivam je u sledecoj funkciji:
Code:

php_process.onLoad = function(success:Boolean) {
    if (success) {
        for (j=0; j<2; j++) {
            removeMovieClip[aThumbs[j]];
        }
        result_text.htmlText = php_process.number_of_hits;
        loadThumbs(php_process);
    } else {
        result_text.text = "Error connecting to server.";
     }

}


E, sada, ne radi mi removeMovieClip[aThumbs[j], tj. nece da ukloni movieClipove (slike) koje sam load-ovao!!!
Mozda neko bolje resenje?!
[ gonzos @ 24.07.2008. 09:48 ] @
Napravi opet loop petlju!
Poput tvog ranijeg pitanja-funkcija je izvrsena, a tvoji aThumbs postoje samo u loop petlji.
[ Tiha Baba @ 24.07.2008. 10:54 ] @
Ne razumem.
aThumbs niz je globalna promenljiva.

loop za remove postoji u onLoad funkciji!
[ StarCraft @ 24.07.2008. 14:42 ] @
Izgleda da imas problema sa tim "kada se koja funkcija izvrsava".

Da bi se neka funkcija izvrsila, potreban joj je "event" koji ce da je trigeruje (pokrene i izvrshi). Jedamput kada se to odigra ta funkcija se vishe ne izvrshava dok se taj event ne dogodi ponovo.
- Eventovi mogu da budu:
onMouseMove = function(){}
onClipEvent(load) = function(){}
on(press){}
setInterval() - izvrsava konstantno neku funkciju na svakih X milisekundi
i mnogi drugi...

Funkcije se takodje izvrsavaju i svaki put kada timeLine (glava) ode na neki frejm u kojem si napisao poziv za neku funkciju, ili si jednostavno napisao kôd koji će tu da se izvrši.

Međutim, postoji prioritet izvršavanja funkcija... Ja mislim da se izvršavaju funkcije koje su napisane u samom frejmu. Zatim flash učitava sve nove objekte koji se nalaze u tom frejmu (osim ako neki isti objekat, pod istim nazivom nije postojao i u prethodnom frejmu, jedino njega ne učitava ponovo), i tada se izvršava kôd koji je napisan na objektima onClipEvent(load).
Samim tim, kada timeline dođe u neki frejm i izvrši funkciju koja pokušava da obriše neke objekte, imaj na umu da u trenutku izvršavanja te funkcije, još uvek nisu učitani svi objekti na sceni, i moguće je da ta funkcija uopšte ne uspe d apronađe objekte koje treba da obriše, jer se jednostavno ta funkcija izvršila prerano.

Za sve što ti nije jasno kada se ili kako izvršava, i svaki put kad želiš da znaš šta se dešava "ispod haube" u flešu, koristi trace() funkciju. Možeš da trejsuješ neku svoju custom poruku: trace("ova funkcija se upravo izvršila") ili da trejsuješ vrednosti koje kroz tu funkciju "prolaze". Tako recimo, ako vidiš da funkcija neće da briše objekte, onda dodaj:

for (j=0; j<2; j++) {
removeMovieClip[aThumbs[j]];
trace( aThumbs[j] );
}

Trebalo bi da ti izbaci "undefined" ako objekat ne postoji (u tom trenutku na sceni) ili će ti izbaciti celu putanju objekata. Stim što ja mislim da se za removeMovieClip koriste obične zagrade, a ne uglaste.
[ Tiha Baba @ 24.07.2008. 20:57 ] @
Uspeo sam.
Hvala na savetu, i kratkom uputu.

Trace je zakon! :D
[ StarCraft @ 25.07.2008. 09:16 ] @
Skoro SVE možes sâm da provalis (zašto nešto ne radi) ako koristis trace.
To je izuzetno korisna stvar, i ja bez nje ne mogu da živim :)