Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pristup dugmicima koji su u nizu iz for petlje (Actionscript 2.0)

[es] :: Flash :: Pristup dugmicima koji su u nizu iz for petlje (Actionscript 2.0)

[ Pregleda: 1156 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vasiljko1982
VISER

Član broj: 224597
Poruke: 2
91.150.105.*



Profil

icon Pristup dugmicima koji su u nizu iz for petlje (Actionscript 2.0)04.06.2009. u 18:35 - pre 166 meseci
Dakle, imam sledeci problem. Na sceni imam niz dugmica koji se zovu dugme_1, dugme_2 itd... E sad, ulazim u for petlju i kada se ispuni zadati uslov zelim da promenim osobine odgovarajucem dugmetu... Dakle, ako je za dati uslov i=2, zelim da kod bude:
dugme_2._visible = false

Nadam se da ste me razumeli. Pokusao sam na vise nacina da resim problem, cak deklaracijom stringa koji bi imao sadrzaj dugme_2, ali ne znam kako da sa tim stringom odradim akciju na odgovarajuce dugme. Pokusao sam i da dugme pozovem kao dugme_(i) ali mi ni to nije uspelo...
 
Odgovor na temu

vasiljko1982
VISER

Član broj: 224597
Poruke: 2
91.150.105.*



Profil

icon Re: Pristup dugmicima koji su u nizu iz for petlje (Actionscript 2.0)04.06.2009. u 19:01 - pre 166 meseci
Problem resen pozivom dugmeta na nacin

_root["dugme_"+i]._visible = false;
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
91.148.66.*



+3 Profil

icon Re: Pristup dugmicima koji su u nizu iz for petlje (Actionscript 2.0)05.06.2009. u 13:08 - pre 166 meseci
A može i tako :)

Ali ako hoćeš za ubuduće pravilno to da radiš (pretpostavljam da je AS2 u pitanju) onda NA svakom dugmetu (ili ako koristiš isti objekat za svu dugmad - onda u prvom frejmu) napišeš:
Code:
onClipEvent(load){
     _root.registrujSeUArray(this);
}
i time praktično pozoveš neku funkciju registrujSeUArray() koja je definisana u _root-u (ako pišeš u prvom frejmu, onda ti ne treba ono "onClipEvent") I ta funkcija može da glasi recimo:
Code:

var svaDugmad:Array = new Array();

function registrujSeUArray(dugme:MovieClip){
     svaDugmad.push(dugme); // ovime registruješ dugme u array
     dugme.indeks = svaDugmad.length - 1; // za svaki slucaj belezim i u samom dugmetu na kojem indeksu je registrovano
}
I onda kada radiš loop petlju, direktno vadiš elemente iz tog arrey-a
Code:
svaDugmad[i].visible = false;
Probaj i videćeš da radi.

Dobro je da čim imaš neku istu stvar koju pozivaš sa više različitih mesta (dovoljno je i sa 2 mesta) da sav taj kôd odmah izdvojiš u posebnu funkciju.
Tako sam ja sada izdvojio registrujSeUArray() funkciju i stavio je u _root da bude dostupna svima. I ako želiš ubuduće da ispraviš ili dodaš nešto u toj funkciji, sve promene radiš samo na jednom mestu - u toj funkciji (umesto da ispravljaš kôd na svim živim objektima koji treba da rade istu stvar)
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

[es] :: Flash :: Pristup dugmicima koji su u nizu iz for petlje (Actionscript 2.0)

[ Pregleda: 1156 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.