[ Tiha Baba @ 29.07.2008. 14:27 ] @
Pokusavam da smestim u niz sirinu svake uchitane slichice! Naravno, ne radi! Jedino kada trace-ujem 'container._width' on ih izlista, ali u niz nece, pa nece..

Funkcija koja ucita slichice:
Code:

var container:MovieClip;
var mcLoader:MovieClipLoader = new MovieClipLoader();

function Ucitaj(){
    for(i=1; i<=8; i++) {
        container = this.createEmptyMovieClip("container" + i, this.getNextHighestDepth());
        mcLoader.loadClip("d:/www/final/africko pleme - 0" + i +".jpg", container);
        trace(container);
    }
}

Ucitaj();


Zatim sam pokusaho da ubacim u niz vrednosti sirina:
Code:

var aWidht:Array = new Array();

function onLoadInit(container:MovieClip) {
    trace(container._width);
    i=0;
    aWidth[i++] =container._width;
}


..i naravno button za prikaz:
Code:
btnSubmit.onRelease = function() {
    for(j=1; j<=8; j++){
        trace(aWidht[j]);
    }
}

mcLoader.addListener(this);

[ StarCraft @ 29.07.2008. 15:38 ] @
Nije uobicajena praksa da se prvo slovo funkcije "capitalizuje" ali nebitno... to je kao po nekoj konvenciji o programiranju...

Problem koji vidim moze da bude ako nisi prethodno formirao Array.
var aWidth = new Array();

Ako jesi, imash gresku na drugom mestu, a to je da u funkciji onLoadInit() ti svaki put uradis i=0; i to ga vraca uvek na 0, a tebi treba counter koji ce da se povecava svaki put a ne da se vraca na nulu svaki put. (ta funkcija se poziva onoliko puta koliko "container" objekata imash)

Drugo, moze da bude problem sto tebi "container" menja "vlasnika" svaki put. Tj. ti dinamicki pravis objekte i svaki od njih postaje "container". Pitanje je da li se onLoadInit() poziva dovoljno brzo, pre nego sto se stvore novi objekti u onom loop-u i zamene sadrzaj "kontejneru". Trebalo bi da tokom trejsa uvek dobijes istu vrednost ako se ne varam? Sto ne valja.

Mozda ti je najbolje da u niz (array) tj. svaki njegov element stavis kompletne objekte pa im onda citas _width direktno.

Code:
var arraySaSvimObjektima:Array = new Array();

function Ucitaj(){
    for(i=1; i<=8; i++) {
        arraySaSvimObjektima[i] = this.createEmptyMovieClip("container" + i, this.getNextHighestDepth());
        mcLoader.loadClip("d:/www/final/africko pleme - 0" + i +".jpg", arraySaSvimObjektima[i]);
        trace(arraySaSvimObjektima[i]);
    }
}


btnSubmit.onRelease = function() {
    for(j=1; j<=8; j++){
        trace( arraySaSvimObjektima[i]._width );
    }
}

[ Tiha Baba @ 29.07.2008. 15:59 ] @
Da, shvatio sam gresku.

Pokushao sam i tvoju varijantu, ali javlja 'undefined'. Nesto slicno sam i ja probao, pa nije islo. Zato sam pretpostavio prvo da treba onLoadInit, posto tek tada dobije container._width...

Mozda, neka druga ideja?!

Trebam da dodjem do sirina tih load-ovanih slichica!

Hvala unapred za svaki predlog, reshenje...
[ Tiha Baba @ 29.07.2008. 16:08 ] @
Probao sam i sledec:
Code:
function Ucitaj(){
    for(i=1; i<=8; i++) {
        arraySaSvimObjektima[i] = this.createEmptyMovieClip("container" + i, this.getNextHighestDepth());
        mcLoader.loadClip("d:/www/final/africko pleme - 0" + i +".jpg", arraySaSvimObjektima[i]);
        trace(arraySaSvimObjektima[i]);
    
        trace(container._width);

    }
}


I javlja za trace(container._width) 'undefined'!!!
[ gordon_beneth @ 29.07.2008. 17:08 ] @
Probaj umesto ovoga
Code:

var aWidht:Array = new Array();

function onLoadInit(container:MovieClip) {
trace(container._width);
i=0;
aWidth[i++] =container._width;
}

ovo
Code:

var aWidht:Array = new Array();

function onLoadInit(container:MovieClip) {
trace(container._width);
aWidth.push(container._width);
}
[ Tiha Baba @ 29.07.2008. 17:36 ] @
Hvala Gordon,
i dalje 'undefined'!!

Je li postoji neki drugi nacin da se dodje do sirine movieClip-a koji je load-ovan!?!?!
[ gordon_beneth @ 29.07.2008. 18:49 ] @
Možda onLoadComplete umesto onLoadInit

Uf, al sam zaboravio as2 :-(
[ Tiha Baba @ 29.07.2008. 18:57 ] @
Haval josh jednom!

Pokushao i to! Nop! :(
[ gordon_beneth @ 29.07.2008. 21:58 ] @
Hahahahaha

var aWidht:Array = new Array();

function onLoadInit(container:MovieClip) {
trace(container._width);
i=0;
aWidth[i++] =container._width;
}
Pazi malo kad kucaš :-)
[ Tiha Baba @ 30.07.2008. 11:24 ] @
Dobro si primetio, ali ni sa ispravkom ne radi.. Hvala jos jednom na trudu..
Problem mi ne da mira, pa sam kopao krsa po netu. Mnogi imaju slican problem, kao da ne postoji resenje, jer izgleda da funkcija onLoadInit ne prosledjuje promenljive _width,_height van nje. Mozda gresim, ali nikako da proradi..
[ StarCraft @ 30.07.2008. 11:39 ] @
Stvar je u tome sto ti radis sledecu stvar:

container = this.createEmptyMovieClip(...)

Tebi je container u stvari "empty movie clip", mozda zato nema width?

probaj da ucitas slike preko loadMovie(...)
zatim uradi jednu seljacku foru ;)
napravi jedan movieclip negde van stage-a sa tri frejma u sebi i neka stop()-uje u prvom frejmu.
Kada ucitas slike, reci tom movieClipu gotoAndPlay(2) i neka on vrti u krug drugi i treci frejm non-stop. Neka u trecem frejmu proverava da li je _width > 0. ako jeste, neka se stopuje ponovo u prvom frejmu.
[ Tiha Baba @ 30.07.2008. 11:55 ] @
Hehehehe... Dobra fora, kontam da ima smisla!! No, ja sam se sinoc toliko iznervirao da sam rekonstruisao citav kod, tako da sirinu image dobijem preko PHP!
Hvala mnogo josh jednom, i extra je ideja!! :D

P.S. bice novih problema, pa se citamo! :D
[ gordon_beneth @ 30.07.2008. 16:50 ] @
Greškom sam kopirao tvoj originalni kod umesto svog koda (onog prvog kojeg sam poslao). Dakle treba:
Code:
var container:MovieClip;
var mcLoader:MovieClipLoader = new MovieClipLoader();
function Ucitaj() {
    for (i=1; i<=8; i++) {
        container = this.createEmptyMovieClip("container"+i, this.getNextHighestDepth());
        mcLoader.loadClip("d:/www/final/africko pleme - 0" + i +".jpg",  container);
        trace(container);
    }
}
Ucitaj();
var aWidht:Array = new Array();
function onLoadInit(container:MovieClip) {
    trace(container._width);
    aWidht.push(container._width);
}
btnSubmit.onRelease = function() {
    for (j=0; j<8; j++) {
        trace(aWidht[j]);
    }
};
mcLoader.addListener(this);

Radi 100% provereno :-)
[ Tiha Baba @ 03.08.2008. 16:27 ] @
Hehe, svaka chast!!! :D