Izrada Flash animacija i aplikacija često podrazumeva upotrebu nekih drugih fajlova koji se nalaze na lokalnom računaru ili negde na Internetu. Komunikacija može biti u vidu linka ka nekoj internet strani, može se zasnivati na učitavanju promenljivih iz nekog .txt fajla i može predstavljati „uvlačenje“ nekog eksternog SWF fajla u glavni film.

Za te namene imamo nekoliko akcija koje će nam pomoći da sve ovo obavimo, pa ćemo se u ovoj lekciji upoznati sa akcijama i njihovim mogućnostima. Akcije koje će nam biti potrebne su:

  • getURL();
  • loadVariable();
  • loadMovie();

 

Akcija getURL();

Kada pravite Flash film bilo da je reč o sajtu, prezentaciji ili aplikaciji, veliku većinu sadržaja bi trebalo napraviti u okviru samog Flash fajla. To znači da će delovi tog sajta biti segmenti u Flash filmu ili posebne scene.

No, povremeno ćete imati potrebu da kreirate link ka nekoj strani na Internetu. Koncept hiperlinkova postoji od kada i Internet, pa je to jedan od osnovnih principa koji je implementiran u ovoj akciji.

Sintaksa akcije je jednostavna:

getURL("http://www.adresa.com/strana.html" , "_blank", "GET");

 

Dakle, tri parametra ove akcije su:

  • adresa na kojoj se nalazi strana,
  • prozor u kojem će se ta strana otvoriti,
  • način na koji će promenljive tog filma biti prosleđene strani.

 

Poslednji parametar je opcioni i on se koristi samo kada želimo da prosledimo promenljive filma nekoj strani koja će te podatke procesuirati. Ukoliko želimo jednostavan link, nije neophodno stavljati ovaj parametar.

Ukoliko se koristi _blank, linkovana strana će se otvoriti u novom prozoru, dok ukoliko stavimo _self, nova strana će se otvoriti u istom prozoru Browser-a.

Adresa strane može biti postavljena apsolutno, kao u primeru, a može biti postavljena i relativno, s tim što tada moramo voditi računa o poziciji HTML strane na kojoj se nalazi ovaj Flash fajl u hijerarhiji na serveru:

getURL("../../strana.html" , "_blank");

 

Ova akcija se može postaviti i u frejm, ali se mnogo češće koristi tako da se javlja na klik na neki simbol na sceni.

Dakle, ova akcija se može kombinovati sa on() uslovom, pa bi akcija dodata simbolu mogla da izgleda ovako:

on(release){
getURL("
http://www.google.com", "_blank");
}

 

Ovako dodata akcija simbolu će kao rezultat imati link ka sajtu Google.com koji će se aktivirati na klik na simbol.

 

Akcija loadVariables

Ukoliko poželite da iz eksternog fajla (.txt formata) uvezete promenljivu u Flash film, to možete uraditi akcijom loadVariables. Ovom akcijom možete učitati promenljive iz teksta koje je generisao i neki CGI ili Perl skript, kao i ASP i PHP strana koja može da komunicira i sa SQL bazom podataka.

Sintaksa je sledeća:

loadVariables ("url", cilj, "način_slanja/primanja_varijabli");

 

Parametri su sledeći:

  • URL predstavlja adresu fajla sa kojim je potrebno razmeniti promenljive,
  • cilj predstavlja nivo ili ime instance koja će primiti varijable,
  • način slanja/primanja se odnosi na GET ili POST metod.

 

Kao primer, možemo dodati kod:

loadVariables ("podaci.txt", _root.podaci, "POST");

 

Na ovaj način ćemo učitati promenljive iz fajla podaci.txt i učitati ih u simbol sa Instance Name-om „podaci“ koji se nalazi na glavnoj sceni.

 

Vežba 1

  1. Kreirajte novi Flash film i u njemu napravite Dynamic text box, a zatim u polju Variables u Properties Inspector-u upišite podaci. Snimite taj FLA fajl u neki direktorijum na hard disku.


  2. Kreirajte txt fajl u istom folderu gde se nalazi FLA fajl i u njemu upišite:

    podaci="Ovo je samo proba"


  3. U prvom frejmu glavnog Timeline-a dodajte akciju:

    loadVariables("data.txt",_root);

 

Ako testirate film, u dinamičkom tekst okviru bi trebalo da se pojavi tekst "Ovo je samo proba".

Naime, akcija koju smo upisali poziva fajl "data.txt" i učitava sve varijable u glavni Timeline (zato što smo kao parametar stavili _root). Pošto se u txt faju nalazi varijabla podaci sa sadržajem "Ovo je samo proba", ona se učitava u Flash film. Kako smo dinamičkom tekst okviru dodelili vrednost promenljive podaci, tekst se automatski prikazuje u tom boksu.

U txt fajl smo mogli da dodamo još promenljivih:

podaci="prvi tekst"&email="email@adresa.com"&adresa="postanska adresa"

 

Pošto su sve promenljive razgraničene znakom AND (&) svi će biti učitani i možemo ih upotrebiti u Flash filmu. Da bismo upotrebili i ove nove promenljive, moraćemo dodati još dva tekst okvira Dynamic tipa i za svako polje definisati Variable (drugi okvir će imati Variable email, a treći okvir Variable adresa).

Ukoliko vam je potrebno da pošaljete podatke nekom PHP skriptu (kao na primer podatke iz kontakt formulara), za adresu fajla stavite neki PHP fajl, a za metod slanja izaberite GET ili POST. U samom PHP fajlu, u zavisnosti od izabranog metoda, morate prihvatiti te promenljive, a zatim ih procesuirati.
Pošto mi nismo slali promenljive, već ih samo preuzimali iz txt fajla, nije bilo potrebe za ovim parametrom.

 

Akcija loadMovie();

U Flash-u kreiramo simbole i animacije koje se pri izvozu nalaze u jednom SWF fajlu. Međutim, moguće je u jedan SWF fajl u toku emitovanja „uvući“ drugi SWF fajl i prikazati ga kao deo glavnog filma.

Akcija koja služi za to je loadMovie(). Njom je moguće u neki postojeći simbol na sceni učitati neki eksterni SWF fajl i prikazati ga.

Ako, navprimer, imamo simbol na glavnoj sceni koji ima X,Y koordinate 0,0 i Instance Name placeholder i ako dodamo akciju na glavni Timeline:

loadMovie("dodatni_fajl.swf", placeholder);

 

kada glava za čitanje dođe do tog frejma, umesto simbola placeholder pojaviće se film iz fajla dodatni_fajl.swf.

Mogli smo da dodamo i apsolutnu putanju do simbola:

loadMovie("dodatni_fajl.swf", _root.placeholder);

 

i rezultat bi bio isti. Fajl dodatni_fajl.swf mora biti u istom folderu kao i fajl koji ga „uvlači”, a ako nisu u istom folderu, onda je potrebno naznačiti putanju do dodatnog fajla:

loadMovie("flash/files/dodatni_fajl.swf", _root.placeholder);

 

Na ovaj način možete uvlačiti i JPG slike, a upotrebom Actionscript 3.0 jezika možete praviti i mnogo naprednije kombinacije fajlova.

 

Vežba 2

  1. Otvorite novi dokument (Actionscript 2.0) i na glavnoj sceni kreirajte MovieClip simbol (nacrtajte kvadrat i pretvorite ga u simbol) koji ima Instance Name "kvadrat". i pomerite ga u gornji levi ugao scene.


  2. Snimite taj fajl u neki direktorijum pod imenom kvadrat.fla, ali ga nemojte zatvarati.
  3. Otvorite novi dokument, u njemu nacrtajte krug i pomerite ga u gornji levi ugao i snimite ga kao krug.fla u isti direktorijum u kojem se nalazi fajl kvadrat.fla. Testirajte film (Ctrl+Enter) kako biste kreirali krug.swf.
  4. Sada se vratite u film kvadrat.fla i u glavnom Timeline-u u prvom frejmu dodajte akciju:

    loadMovie("krug.swf", _root.kvadrat);

 

Ako testirate film, videćete da se umesto kvadrata na sceni pojavljuje krug odmah po učitavanju filma. To je zato što u prvom frejmu filma pokrećemo učitavanje fajla krug.swf umesto simbola kvadrat koji se nalazi na glavnoj sceni.

Ako želimo da se prvo pojavi kvadrat, a tek na klik na taj kvadrat da se on promeni u krug, možemo promeniti akciju:

kvadrat.onRelease=function(){
 loadMovie("krug.swf",_root.kvadrat);
}

 

Ovime ćemo ograničiti pojavljivanje filma krug.swf, tako da se on učita tek kada korisnik klikne na kvadrat.

Dakle, ukoliko želite da umesto nekog simbola postavite film iz eksternog fajla, to možete učiniti ovom komandom. Namena ove komande može doći do izražaja kada kreirate sajt koji ima ograničen broj podsekcija. Tada svaku podsekciju možete postaviti u odvojen fajl (sa zasebnim Preloader-om kako bi se olakšalo učitavanje), a zatim pozivati te eksterne fajlove pritiskom na odgovarajući taster u navigaciji.

Tako dobijate na manje delove „razbijen“ fajl. Delovi se lakše učitavaju i na taj način dajete korisniku mogućnost da učitava samo sekcije koje želi da vidi.

Za taj slučaj, bio bi vam potreban simbol koji bi predstavljao placeholder za eksterne fajlove, a zatim biste svakom tasteru u navigaciji dodali kod koji će na klik na taster učitati odgovarajući eksterni fajl u taj placeholder.

Dodaj komentar Sviđa mi se - (0) Ne sviđa mi se - (0)    

  • Komunikacija sa spoljnim fajlovima (getURL, loadMovie, loadVariables) 1
  • Komunikacija sa spoljnim fajlovima (getURL, loadMovie, loadVariables) 2
  • Komunikacija sa spoljnim fajlovima (getURL, loadMovie, loadVariables) 3