Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 2.770 pregleda

Najnovija ↓

Nece da remove-uje movieClipove... 23.07.2008. u 23:33 · pre 222 meseca #1
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?!
Re: Nece da remove-uje movieClipove... 24.07.2008. u 15:42 · pre 222 meseca #4
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.
Potpis
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
Re: Nece da remove-uje movieClipove... 25.07.2008. u 10:16 · pre 222 meseca #6
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 :)
Potpis
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme