[ Pobierz całość w formacie PDF ]
.Wybierz Actions/if.W polu Condition wpisz:_root._framesloaded >= _root._totalframesPierwszy cz³on wyra¿enia zwraca iloœæ klatek ju¿ wczytanych do g³Ã³wnej listwyczasowej.Drugi cz³on zwraca ca³kowit¹ liczbê ujêæ w g³Ã³wnej listwie czasowej.Znak „wiêksze ni¿” (>) oraz znak równoœci (=), wystêpuj¹ce razem, oznaczaj¹„wiêksze lub równe ni¿”.Wybierz Actions/evaluate.W polu Expression wpisz:_root.gotoAndPlay(2)Teraz wybierz Actions/else.Wyra¿enie else wprowadza alternatywê dla pierwszegowarunku w wyra¿eniu if.Je¿eli warunek zostanie spe³niony, Flash przejdzie doklatki 2.na g³Ã³wnej listwie czasowej i rozpocznie odtwarzanie.W przypadkuniespe³nienia warunku, Flash mimo wszystko wykona wszelkie akcje poprzedzonewyra¿eniem else.Rys.5.51.Ten klip filmowy zawiera animacjê wype³niaj¹cego siê paska orazwyjaœniaj¹cy tekst umieszczony powy¿ejRys.5.52.Kompletny kod ActionScript dla tej nieco bardziej skomplikowanejanimacji wstêpnejRys.5.53.Narzêdzie Bandwidth Profiler po wybraniu Show Streaming.Zwróæuwagê, jak postêp w ³adowaniu (5 z 10 klatek zosta³o ca³kowicie wczytanych)wp³ywa na proporcje pokazywane na wskaŸniku (oko³o 50 procent) w czasie jegoanimacji (klip filmowy animacji wstêpnej)Wybierz Actions/evaluate.W polu Expression wpisz:this.gotoAndStop(Math.floor ((_root._framesloaded/ _root._totalframes)* this._totalframes))To wyra¿enie wygl¹da doœæ skomplikowanie, ale oka¿e siê proste, kiedy ju¿ razje odczytasz.Oblicza ono iloœæ klatek za³adowanych do g³Ã³wnej listwy czasowej,a nastêpnie przeskakuje do odpowiedniej klatki na listwie czasowej animacjiwstêpnej.Spróbujmy przeanalizowaæ kod.Po pierwsze, wewnêtrzne wyra¿enie_root._framesloaded/_root._totalframespodaje iloœæ wczytanych klatek.Ta linia zostaje pomno¿ona przez wyra¿eniethis._totalframes, które okreœla iloœæ klatek w animacji wstêpnej.Daleju¿ywamy metody floor obiektu Math, zamieniaj¹cej dowoln¹ wartoœæ na liczbêca³kowit¹ (i zaokr¹glaj¹cej w dó³).Wkrótce nauczysz siê wiêcej o obiekcieMath; na razie wystarczy wiedzieæ, ¿e umo¿liwia on wykonywanie obliczeñmatematycznych.Kiedy wiêc Flash ma ju¿ liczbê ca³kowit¹ (czyli tak¹, która niezawiera u³amków lub czêœci dziesiêtnych), u¿ywa jej jako numeru ujêcia wwyra¿eniu this.gotoAndStop (rys.5.52).Przetestuj film za pomoc¹ narzêdzia Bandwidth Profiler w trybie Show Streaming(rys.5.53).WskazówkiWartoœæ zwracana przez wyra¿enie _framesloaded/_totalframes nie odpowiadadok³adnie wskazaniom postêpu wczytywania.Odpowiada ona procentowej iloœciujêæ, ale niekoniecznie procentowej iloœci danych.Jeœli twój film zawiera danerozrzucone po ró¿nych ujêciach, wartoœæ wyra¿enia _framesloaded/ _totalframesnie da ci obrazu iloœci danych dotychczas za³adowanych i iloœci wci¹¿ jeszczeoczekiwanej.To tylko jeden z wielu sposobów na przygotowanie animacji wstêpnej, obrazuj¹cejpostêp wczytywania filmu.Jednak podstawowa idea dzia³ania tej funkcji jestjednakowa dla ka¿dego z nich.Najpierw porównujesz w³aœciwoœci _framesloadedoraz _totalframes.Potem sprawiasz, ¿eby twój klip filmowy animacji wstêpnejodpowiada³ w jakiœ sposób rosn¹cej powoli wartoœci zwracanej przez wyra¿enie_framesloaded/ _totalframes.W kolejnych rozdzia³ach nauczysz siê, w jakisposób szacowaæ inne w³aœciwoœci filmu, np.ich rozmiar lub krycie.Tak wiêc,zamiast odtwarzaæ niektóre tylko klatki, mo¿na – w zale¿noœci od postêpuw ³adowaniu – zwiêkszaæ rozmiar okna klipu filmowego lub jego krycie
[ Pobierz całość w formacie PDF ]