Evo ti jedno objašnjenje za putanje u flashu, koje sam davno na forumu pisao: (AS2)
Svaki objekat u fleš muviju ima neku svoju putanju (adresu) na kojoj se nalazi. Gledaj na to isto kao na foldere - u svakom objektu može da se nalazi neki drugi, pod-objekat, i tako u nedogled.
Ako hoćeš da pozoveš neki objekat imenom-i-prezimenom i da mu kažeš da uradi "nešto" ti moraš da napišeš njegovu putanju gde se on nalazi.
Kada upališ novi fleš projekat - dobiješ prazan stejdž. To što gledaš u tom trenutku je u stvari "_root" svih objekata (gledaj na to kao na C:\ ). To znači da apsolutna putanja svakog objekta počinje sa: _root.objekat.pod-objekat.pod-pod-objekat...
E, sad, glavna fora je u tome što postoje apsolutne i relativne putanje. apsolutne putanje uvek počinju sa _root... a relativne kreću odande gde se nalazi taj objekat. Ja ti savetujem da kad god možeš, radiš sa apsolutnim putanjama (čitljiviji je kôd, lakše je za snalaženje i manje su greške) ali i relativne putanje imaju svojih velikih prednosti kod komplikovanijih struktura objekata.
Negde pišu u tutorialima funkciju u _root-u (u osnovnoj vremenskoj liniji) i onda pozivaju objekat "this". "this" ti je u stvari relativna putanja za objekat U kojem si napisao taj kôd. Pošto u tutorialima sav kôd uvek pišu u _root-u - kad napišu "this" onda misle na "_root". Isto tako (relativno) možeš da se pozivaš i na "_parent" objekte od tog movi klipa (samo _root nema _parent objekat)
Jedini izuzetak što se tiče relativnih putanja su Button objekti. Kada na njima napišeš da "this" radi nešto, ActionScript podrazumeva da misliš na _parent-a od tog dugmeta.
Naziv objekta ti je u stvari onaj njegov "instance name" koji možeš da upišeš u properties-u objekta. Bez instance nejma, objekat se referencira ili sa "this" ili sa "_parent" ili ima neki svoj unutrašnji naziv koji mu fleš automatski dodeljuje.
Znači, ako hoćeš da ti se taj tvoj swf učita u neki objekat-u-objektu (da bi mogao da kontrolišeš poziciju učitanog filma) napravi neki objekat - daj mu instance name - napravi u njemu još jedan objekat - daj i njemu instance name - i onda tamo u funkciji napiši:
_root.objekat1.objekat2 (to je neka njihova trenutna struktura)
Ako hoćeš ceo swf da učitaš umesto ovoga koji sada piči, onda napiši _root.loadMovie(...). A ako hoćeš da učitaš taj swf PREKO trenutnog sadržaja flash filma (da svi objekti ostanu u pozadini, a ovaj swf da se učita preko svih njih) onda možeš da napišeš i _level1._root.loadMovie(...)
(moguće je da ne mora _root da se napiše, ne sećam se sad baš najbolje)
Level-i su ti u stvari više _root-ova jedan preko drugog bukvalno i može da ih bude koliko hoćeš. Mađutim, ovo se toliko retko koristi da ne znam ni zašto sam ga pomenuo :)
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)