You are on page 1of 33

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl

Macromedia Flash 8
Professional.
Oficjalny podrcznik
Autorzy: Tom Green, Jordan L. Chilcott
Tumaczenie: Pawe Kita
ISBN: 83-246-0313-1
Tytu oryginau: Macromedia Flash 8 Professional:
Training from the Source
Format: B5, stron: 480
Kompendium wiedzy o najnowszej wersji Flasha
Narzdzia graficzne i animacyjne
Praca z cyfrowym wideo i dwikiem
Prezentacje dla urzdze przenonych
Macromedia Flash 8 Professional to najnowsza wersja aplikacji, ktra cigle zmienia
oblicze sieci WWW. Statyczne strony staj si ttnicymi yciem interaktywnymi
prezentacjami. Stale rozwijany i udoskonalany jzyk ActionScript umoliwia
projektantom witryn WWW poczenie animacji utworzonych we Flashu z bazami
danych i daje im niemal nieograniczon kontrol nad obiektami znajdujcymi si na
scenie. Wersja Professional oferuje dodatkowe moliwoci obrbki cyfrowego wideo,
tworzenia aplikacji w architekturze klient-serwer i publikowania prezentacji w formacie
nadajcym si do odtwarzania na wywietlaczach urzdze mobilnych.
Macromedia Flash 8 Professional. Oficjalny podrcznik to przygotowany przez
specjalistw z firmy Macromedia zbir wicze, ktre pozwol Ci pozna moliwoci
tej wspaniaej aplikacji. Nauczysz si korzystania z narzdzi rysunkowych i tworzenia
wektorowych animacji. Dowiesz si, jak za pomoc ActionScriptu kontrolowa atrybuty
obiektw oraz jak umieszcza w prezentacjach dwik i cyfrowe wideo. Poznasz
sposoby wykorzystywania plikw w formacie XML, czenia aplikacji z Flash
Communication Server i publikowania prezentacji.
Interfejs uytkownika
Podstawy jzyka ActionScript
Tworzenie obiektw graficznych
Elementy tekstowe
Doczanie dwiku do prezentacji
Animacja automatyczna i poklatkowa
Praca z cyfrowym wideo
Poczenie z serwerem komunikacyjnym
Wykorzystywanie danych dynamicznych i plikw XML
Tworzenie prezentacji dla urzdze mobilnych
Poznaj i wykorzystaj najlepsze koncepcje i techniki stosowane przy tworzeniu filmw Flasha

O autorach ...........................................................................................................................................................................................9
Wstp ...................................................................................................................................................................................................11
Lekcja 1. Interfejs programu Flash .........................................................................................................................................17
Tworzenie dokumentu Flasha ................................................................................................................................. 19
Wybr ustawie .........................................................................................................................................................24
Obsuga paneli ...........................................................................................................................................................27
Poszerzanie obszaru Pasteboard .............................................................................................................................. 30
Wykorzystanie panelu Tools ................................................................................................................................... 31
Tryb rysowania obiektw (Object Drawing Mode) .............................................................................................. 34
Tekst w programie Flash Professional 8 ................................................................................................................. 39
Wygadzanie tekstu ................................................................................................................................................... 43
Publikacja dokumentu Flasha ................................................................................................................................. 45
Funkcja wykrywajca wersj odtwarzacza Flash Player ........................................................................................47
Tworzenie projektu Flasha .......................................................................................................................................49
Kontrola wersji .......................................................................................................................................................... 50

Lekcja 2. Podstawy jzyka ActionScript .............................................................................................................................53


Wstp do ActionScript 2.0 ....................................................................................................................................... 55
Wykorzystanie panelu Actions ................................................................................................................................ 59
Wykorzystanie trybu Script Assist .......................................................................................................................... 62
cisa kontrola typw i opcja podpowiedzi kodu ................................................................................................. 67
Podstawowe wiadomoci o klasach, metodach i waciwociach ........................................................................ 69
Zasig .......................................................................................................................................................................... 71
Wykorzystanie konstruktora LoadVars() w celu uzyskania dostpu do danych zewntrznych .....................74
Zastosowanie zdarze, uchwytw zdarze i obiektw nasuchujcych .............................................................79

Lekcja 3. Grafika w programie Flash ....................................................................................................................................85


Wektory i mapy bitowe .............................................................................................................................................87
Manipulowanie obiektami znajdujcymi si na scenie ....................................................................................... 91
Wyrwnywanie elementw grafiki wzgldem sceny i siebie nawzajem ............................................................. 95
Projektowanie interfejsu pokazu slajdw ............................................................................................................... 96

Tworzenie interfejsu pokazu slajdw ................................................................................................................... 104


Dodawanie elementw interaktywnych do pokazu slajdw ..............................................................................113
Wykorzystanie ActionScriptu do utworzenia pokazu slajdw ..........................................................................118

Lekcja 4. Tekst w programie Flash ......................................................................................................................................123


Wykorzystanie narzdzia Text Tool ..................................................................................................................... 125
Dodawanie tekstu do dokumentu ........................................................................................................................ 127
Tworzenie ruchomej grafiki na podstawie tekstu ................................................................................................131
Sprawdzanie pisowni w dokumencie .................................................................................................................... 138
Efekty tekstowe w programie Flash ........................................................................................................................141
Dodawanie tekstu za pomoc kodu ActionScript .............................................................................................. 146
Wykorzystanie komponentu TextArea ................................................................................................................ 149

Lekcja 5. Dwik w programie Flash ..................................................................................................................................159


Formaty kompatybilne z programem Flash .........................................................................................................161
Import dwiku do programu Flash ..................................................................................................................... 165
Zdarzenia dwikowe i dwik strumieniowy ..................................................................................................... 167
Kontrola dwiku .................................................................................................................................................... 169
Uycie dwiku w celu umoliwienia reakcji na dziaania uytkownika ........................................................ 184
Dodawanie dwiku do animacji .......................................................................................................................... 190

Lekcja 6. Tworzenie animacji ................................................................................................................................................195


Animacje automatyczne, czyli podstawy ruchu .................................................................................................. 197
Tworzenie ruchu za pomoc filtra Blur ...............................................................................................................208
Animacja z filtrem Drop Shadow ..........................................................................................................................211
Animacje automatyczne z wykorzystaniem filtrw ........................................................................................... 217
Animacja zmian koloru .........................................................................................................................................223
Animacje automatyczne z wykorzystaniem filtrw i trybw mieszania .........................................................227
Programowanie animacji ....................................................................................................................................... 233

Lekcja 7. Tworzenie filmu we Flashu .................................................................................................................................245


Materia wideo w programie Flash ........................................................................................................................247
Wykorzystanie Flash Video Encoder Wizard ......................................................................................................247
Wykorzystanie Flash 8 Video Encoder i ustawie zaawansowanych ...............................................................254
Tworzenie filmw za pomoc komponentu FLVPlayback ............................................................................... 261
Tworzenie wideo dla Flash Player 6/7 za pomoc MediaPlayback Component ............................................267
Wykorzystanie komponentw z grupy FLV Custom UI
w celu kontrolowania komponentu FLVPlayback ............................................................................................. 271

Macromedia Flash 8 Professional.


Oficjalny podrcznik

Lekcja 8. Tworzenie wasnego odtwarzacza wideo w programie Flash ............................................................277


Przesy strumieniowy materiau wideo .................................................................................................................279
Tworzenie obiektu wideo .......................................................................................................................................279
czenie odtwarzacza Flash Player 8 z serwerem sieciowym .............................................................................282
Dodawanie elementw kontrolujcych odtwarzanie .........................................................................................285
Odtwarzanie wielu filmw wideo .........................................................................................................................289
Wykorzystanie klasy TransitionManager w celu dodania do filmu przejcia Fade .......................................296

Lekcja 9. Praca z materiaem wideo ...................................................................................................................................305


Pliki FLV a kanay alpha materiau wideo ...........................................................................................................307
Wykorzystanie punktw pocztkowych w materiale wideo w celu aktywowania zdarze ........................... 312
Filtry i efekty mieszania a materia wideo w programie Flash .......................................................................... 319
Inne filtry wideo ......................................................................................................................................................322
Wykorzystanie kamery internetowej w programie Flash Professional 8 .........................................................324
Odtwarzanie filmu wideo nad innym filmem ....................................................................................................328
Zabawa z kamer w programie Flash, czyli ciana wideo ................................................................................... 330

Lekcja 10. Serwer komunikacyjny: audio i wideo ......................................................................................................337


Podstawowe wiadomoci na temat Flash Communication Server ................................................................... 339
Tworzenie aplikacji do strumieniowego przesyu materiau wideo .................................................................344
Odtwarzanie i kontrola wielu filmw na serwerze FlashComm ......................................................................348
Strumieniowe przesyanie plikw MP3 ................................................................................................................ 354

Lekcja 11. Wykorzystanie danych dynamicznych ......................................................................................................363


Wstp do danych dynamicznych .......................................................................................................................... 365
XML i Flash .............................................................................................................................................................. 366
Parsowanie danych XML: tworzenie pokazu slajdw ........................................................................................370
Wykorzystanie lokalnego obiektu wspdzielonego .......................................................................................... 386

Lekcja 12. Urzdzenia przenone a Flash Professional 8 ........................................................................................389


Program Flash a urzdzenia przenone ................................................................................................................ 391
Tworzenie filmu z myl o urzdzeniu ................................................................................................................394
Tworzenie aplikacji na telefony komrkowe ......................................................................................................397
Tworzenie aplikacji pod ktem platformy Windows Mobile ...........................................................................409

Lekcja 13. Publikacja filmu utworzonego we Flashu .................................................................................................419


Publikacja pliku SWF ............................................................................................................................................. 421
Narzdzie Bandwidth Profiler ...............................................................................................................................426
Wykrywanie wersji odtwarzacza Flash Player ......................................................................................................427
Osadzanie pliku SWF w stronie za pomoc programu Dreamweaver 8 ..........................................................429
Na zakoczenie ........................................................................................................................................................ 435
SPIS TRECI

Dodatek A Skrty klawiszowe ..............................................................................................................................................437


Dodatek B Poszukiwanie pomocy: spoeczno twrcw Flash .............................................................................445
Skorowidz ...................................................................................................................................................................................... 453

Macromedia Flash 8 Professional.


Oficjalny podrcznik

W lekcji 7. dowiedziae si, jak utworzy odtwarzacz wideo za pomoc komponentu wideo. W tej
lekcji opracujesz odtwarzacz wideo, ktry nie wykorzystuje komponentw. Moesz, oczywicie,
zapyta: Po co si mczy, skoro mam dostp do komponentw?.
Wikszo pracujcych w programie Flash zawodowcw unika wykorzystania komponentw, poniewa zazwyczaj wie si to ze wzrostem rozmiaru pliku SWF. Dla przykadu odtwarzacz, ktry
utworzye w poprzednim wiczeniu, zajmowa 35 kB, a do tego dochodzia jeszcze skrka
o rozmiarze 15 kB. W niniejszej lekcji utworzysz odtwarzacz zawierajcy proste przyciski Start i Stop,
ktrego wielko nie przekracza 1 kB. Bdzie si on znacznie szybciej wczytywa. Ponadto o wiele
atwiej bdzie dostosowa go do Twoich wymaga, poniewa to Ty bdziesz jego twrc.
Pozostaje jeszcze kwestia elementw nawigacyjnych. Moe si okaza, e potrzebujesz jedynie
przyciskw Start i Pause. W tym celu dodasz do sceny obiekt wideo i wykorzystasz te przyciski do
kontroli odtwarzania, ktr moesz uzyska za porednictwem kodu ActionScript.
Nie potrzebujesz komponentw do kontroli odtwarzania
wideo; moesz utworzy wasne elementy nawigacyjne

Lekcja zostaa podzielona na trzy czci. Pierwsza z nich pokazuje, w jaki sposb przesya si materia
wideo za pomoc kodu ActionScript i obiektu wideo. W kolejnej czci dowiesz si, jak dodawa
przyciski, ktre umoliwiaj uytkownikom kontrol nad odtwarzaniem materiau wideo. Ostatnia
cz lekcji zostaa powicona zastosowaniu kodu ActionScript do kontroli materiau wideo, ktry
jest odtwarzany za porednictwem komponentu FLVPlayback. Skada si ona z dwch projektw.
Pierwszy z nich wyjania proces odtwarzania wielu plikw FLV naraz w celu utworzenia iluzji jednego duego pliku wideo. Drugi projekt dotyczy dostpnej w kodzie ActionScript klasy TransitionManager dowiesz si, jak sprawi, by kliknicie przycisku spowodowao pojawienie si materiau
wideo.

Czego dowiesz si w tym rozdziale?


W czasie tej lekcji:
Utworzysz obiekt wideo na scenie programu Flash Professional 8,
Wykorzystasz klasy NetConnection i NetStream do odtwarzania materiau wideo znajdujcego

si na serwerze,
Dodasz do filmu elementy kontrolujce odtwarzanie,
Wykorzystasz kod ActionScript do kontroli odtwarzania wielu plikw FLV,
Dowiesz si, w jaki sposb komponent FLVPlayback korzysta z akcji nasuchujcych

w celu aktywowania zdarze,


Poznasz dziesi przej, ktre wchodz w skad klasy Transition,
Dowiesz si, jak zarzdza tymi przejciami za pomoc klasy TransitionManager,
Dowiesz si, jak uzyska dostp do przej za pomoc sowa kluczowego Import.

Przybliony czas trwania lekcji


Ukoczenie tej lekcji zajmie okoo 90 minut.

Potrzebne pliki
Media:
Player.fla
Pliki pocztkowe:
Lekcja08/Complete/Player.fla
Gotowe pliki:
Converge.flv

278

Macromedia Flash 8 Professional.


Oficjalny podrcznik

Przesy strumieniowy materiau wideo


Musisz by wiadomy tego, e przesy strumieniowy (zwaszcza materiau wideo Flasha) oznacza
wykorzystanie Twojego serwera sieciowego gwnie w roli serwera strumieniowego. Masz take do
dyspozycji inne rozwizania, np. dostawc Flash Video Streaming Server lub Flash Communication Server (o czym jest mowa w lekcji 10.), ale najpopularniejsz metod przesyu strumieniowego
danych jest wykorzystanie serwera sieciowego w celu umoliwienia pobierania progresywnego.
Kod ActionScript bdzie taki sam, niezalenie od wybranej metody.
Wykorzystasz dwa rodzaje klas ActionScript. Pierwszy rodzaj zwizany jest z nawizywaniem poczenia z (connection), klasa ta odpowiedzialna bdzie za komunikacj z serwerem. Na drugi rodzaj
skadaj si klasy interfejsu uytkownika (user interface), a ich zadaniem bdzie wywietlanie filmu
wideo w pliku SWF.
Wszystko to dziaa w bardzo prosty sposb. Plik zostanie zaadowany do odtwarzacza Flash Player
za pomoc klas NetStream i NetConnection, ktre z kolei przel materia wideo do osadzonego na
scenie obiektu wideo. Obiekt wykorzysta klasy Video i Sound do odtwarzania obrazu i kontroli
gonoci.
Klasa NetConnection jest odpowiedzialna za komunikacj midzy serwerem a programem Flash.
Klasa NetStream zarzdza i kontroluje strumie, dziki czemu uytkownik moe odtwarza, zatrzymywa, wcza pauz, a nawet przewija strumie wideo. Moesz wyobrazi sobie cay proces
na przykadzie kabla, ktry znajduje si z tyu telewizora. Kabel ten zapewnia poczenie z firm
udostpniajc usugi telewizyjne1. Programy przesyane do telewizora za porednictwem kabla
peni rol strumienia.
Chocia moe to brzmie troch tajemniczo i nazbyt technicznie, poniej przedstawiamy minimaln ilo kodu, ktrej potrzeba do ustanowienia poczenia z serwerem i odtworzenia filmu wideo:
new NetConnection();
NetConnection.connect(null);
New NetStream(NetConnection);
NetStream.play("myVideo.flv");
Video.attachVideo(NetStream);
createEmptyMovieClip("newMovie",this.getNextHighestDepth());
newMovie.attachAudio(NetStream);
Sound soundObj = new Sound(newMovie);

Wida wic, e jest to trjstopniowy proces: pocz, przelij strumieniowo, odtwarzaj. Kilka ostatnich
wierszy kodu czy strumie wideo z obiektem wideo i dwikiem filmu wideo.

Tworzenie obiektu wideo


Powodzenie przesyu strumieniowego materiau wideo zaley od tego, czy plik FLV rozpocznie odtwarzanie zaraz po otwarciu strony internetowej. Dane pliku FLV przepyn do pliku SWF za porednictwem NetStream. Dane zostan nastpnie przesane do znajdujcego si na scenie obiektu wideo.
1

Mwimy tu o telewizji kablowej przyp. tum.


LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

279

Istnieje kilka wanych zalet wykorzystania obiektu wideo.


Nie musisz osadza materiau wideo w pliku SWF. W ten sposb unikniesz tworzenia

wielkich plikw SWF, co nie jest dobrym pomysem, jeli myli si o widzach posiadajcych
cza typu dial-up.
Nie ma limitu klatek. Materia wideo osadzony w pliku SWF jest umieszczany na listwie

czasowej. W zalenoci od dugoci filmu, moe zdarzy si, e przekroczysz limit listwy
czasowej Flasha, ktry wynosi 16000 klatek. Najczciej tworzy si odtwarzacze skadajce si
z jednej klatki.
Wcinicie Play gwarantuje natychmiastowe odtwarzanie. W momencie nawizania

poczenia i rozpoczcia przesyu strumieniowego rozpocznie si take odtwarzanie


materiau wideo. W przypadku pobierania progresywnego pomidzy poczeniem
a odtwarzaniem wystpi krtkie opnienie. Wykorzystanie serwera strumieniowego
oznacza prawie natychmiastowe odtwarzanie.
Plik SWF jest bardzo may. W poprzedniej lekcji miae okazj przekona si, e zastosowanie

komponentw owocuje plikiem o rozmiarze okoo 70 kB. Wykorzystaj obiekt wideo i kilka
przyciskw, a rozmiar pliku zmniejszy si do poniej 10 kB.
Nie ma ogranicze dugoci filmw. Dugo filmu wideo, czy bdzie to 1 minuta,

czy te 10 minut, przy przesyaniu strumieniowym nie ma znaczenia.


1. Skopiuj na dysk twardy katalog Lekcja08 z doczonej do ksiki pyty CD.

Otwrz plik Player.fla.


W czasie lekcji bdziesz zapisywa i testowa ten plik.
2. Otwrz bibliotek i wybierz opcj New Video z menu rozwijanego Library Options.

Tworzysz w ten sposb obiekt wideo, do ktrego zostanie przesany plik FLV. Otworzy si
okno dialogowe Video Properties, gdzie bdziesz mg wybra rodzaj wideo moe to by
znajdujcy si bezporednio na listwie czasowej osadzony materia wideo lub materia
zewntrzny doczony za porednictwem ActionScriptu.

280

Macromedia Flash 8 Professional.


Oficjalny podrcznik

3. Po otwarciu okna dialogowego Video Properties nadaj symbolowi nazw Converge i wybierz

opcj Video (ActionScript-controlled). Wcinij OK.


W bibliotece pojawi si kamera z nazw obiektu wideo. To jest wanie obiekt wideo.

Obiekt wideo okrela na scenie miejsce, w ktrym zostanie wywietlony film wideo.
Bdzie on niewidoczny do momentu odtworzenia materiau wideo w filmie Flasha. Cech
charakterystyczn obiektu wideo jest to, e korzysta on z klasy Video, ktra posiada metody
i waciwoci, ale nie zawiera zdarze. Obiekt ten moe by skalowany, obracany, przesuwany,
maskowany, a nawet umieszczany wewntrz klipu filmowego. Nie kontroluje on natomiast
odtwarzania materiau wideo. Dziaa podobnie jak telewizor przechwytuje przychodzcy
strumie i wywietla go. Elementy kontrolne zostan dodane w dalszej czci lekcji. Moesz
take do obiektu wideo doczy dwik, ale rozwizanie to jest rzadko spotykane,
poniewa wikszo plikw wideo zawiera te ciek dwikow.
4. Zaznacz warstw myVideo i przecignij na scen kopi obiektu wideo. Nadaj mu nazw
instancji myVid w oknie Property inspector oraz ustaw wymiary H na 240 i W na 320,
a wsprzdne x,y na 40,35. Zapisz plik.

Obiekt wideo po umieszczeniu na scenie przybierze posta prostokta z duym X


wewntrz. Moesz take umieci obiekt wideo w klipie filmowym, a nawet maskowa go,
poniewa jest to obiekt znajdujcy si na scenie (zobacz rysunek na nastpnej stronie).
Nie musisz przesya strumieniowo pliku FLV do obiektu wideo. Moesz podczy do komputera
kamer internetow i przesya sygna wideo z kamery do obiektu wideo.

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

281

Obiekt wideo zostanie dodany do biblioteki. Otrzyma nazw instancji, zmieni rozmiar i zostanie
umieszczony na scenie za porednictwem okna Property inspector.

czenie odtwarzacza Flash Player 8


z serwerem sieciowym
Za proces poczenia odpowiedzialna jest klasa NetConnection. Po dodaniu kodu do filmu, ktry
zawiera obiekt wideo, klasa NetConnection zajmie si komunikacj, zachodzc midzy komputerem uytkownika a serwerem. Wprowadzona w odtwarzaczu Flash Player 6 klasa NetConnection
moe na jednym poczeniu obsugiwa wiele strumieni danych.
Klasa NetConnection zawiera trzy metody, z ktrych dwie dostpne s tylko wtedy, gdy uywasz
Flash Communication Server lub Flash Video Streaming Service. Oto one:
NetConnection.connect(): danie ustanowienia poczenia z serwerem, na ktrym

znajduje si plik FLV,


NetConnection.close(): metoda wykorzystywana tylko w przypadku serwerw

strumieniowych zamyka poczenia z serwerem,


NetConnection.call(): metoda wykorzystywana tylko w przypadku serwerw

strumieniowych moe by wykorzystana w celu odwoania si do metod odtwarzacza


Flash Player.

282

Macromedia Flash 8 Professional.


Oficjalny podrcznik

Po ustanowieniu poczenia mona rozpocz przesy strumieniowy nastpnie mona poczy


klas NetStream i obiekt wideo ze strumieniem.
1. Zaznacz warstw Actions i wcinij F9, by otworzy edytor ActionScriptu.
2. Wpisz poniszy kod w panelu Actions:
var nc:NetConnection = new NetConnection();
nc.connect(null);

Pierwszy wiersz powyszego kodu definiuje obiekt poczenia i nadaje mu nazw instancji
(nc). W drugim wierszu znajduje si metoda connect, suca do ustanawiania poczenia.
Parametr null ustala poczenie midzy lokalnym serwerem sieciowym a dyskiem twardym.

3. Wcinij Return lub Enter i wpisz poniszy kod:


var ns:NetStream = new NetStream(nc);

Ten wiersz definiuje obiekt NetStream i tworzy jego instancj wykorzystujc jako parametr
zdefiniowany wczeniej obiekt NetConnection. Filmy Flasha musz zawiera zarwno obiekt
NetStream, jak i NetConnection w celu skierowania strumienia danych do filmu Flasha.

Dane audio i wideo s doczane do strumienia w celu przesania ich do komputera uytkownika.
Film, ktry tworzy strumie w poczeniu sieciowym i wykorzystuje go do wysyania danych do
uytkownikw, okrela si mianem nadawcy (publisher) oznacza to, e publikuje on strumie.
Film, ktry tworzy strumie w celu odbierania danych (przykadem tego jest niniejsza lekcja), okrelany jest mianem odbiorcy (subscriber). Musisz pamita, e strumie moe zawiera tylko jeden
strumie audio i wideo naraz. Pi filmw wideo nie moe korzysta z jednego strumienia. Gdy
chcesz odtworzy inny film, musisz usun ze strumienia materia, ktry si w nim znajduje, i zastpi
go nowym lub te utworzy nowy strumie, do ktrego doczysz obiekt wideo.
4. Wcinij Enter lub Return i wpisz poniszy kod:
var myVid: Video;
myVid.attachVideo(ns);
ns.play("Converge.flv");

Po ustanowieniu NetConnection i NetStream nadajemy obiektowi wideo nazw myVid,


ktra jest taka sama jak nazwa instancji znajdujcego si na scenie obiektu. Obiekt wideo
jest nastpnie doczany do obiektu NetStream za pomoc metody attachVideo(). Strumie
i obiekt wideo s ju poczone, wic ostatni wiersz kodu wykorzystuje metod play() w celu
wczytania pliku Converge.flv do NetStream i przesania go do obiektu wideo.

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

283

Jeli korzystasz z podpowiedzi kod (Code Hinting) przy wyborze typw danych dla zmiennych,
musisz wiedzie, e klasa wideo nie znajduje si w menu rozwijanym. Wykorzystanie tej klasy jest
ograniczone wycznie do obiektw wideo, co tumaczy pominicie jej w tej licie.

5. Zapisz plik i przetestuj go.

Rozpocznie si odtwarzanie filmu wideo w ramach znajdujcego si na scenie obiektu wideo.


Nie zamykaj pliku wykorzystasz go w kolejnym wiczeniu.

Powyszy kod nie zosta wprowadzony wedug typowych konwencji zapisu, wedug ktrych zmienne deklaruje si na samym pocztku. Zdecydowalimy si na deklaracj zmiennych w odpowiednich wierszach dlatego, e chcemy, by wiedzia, jak dziaa program. Wedug konwencji zapisu ten
kod powinien wyglda w nastpujcy sposb:
var nc:NetConnection = new NetConnection();
var ns:NetStream = new NetStream(nc);
var myVid: Video;
nc.connect(null);
myVid.attachVideo(ns);
ns.play("Converge.flv");

284

Macromedia Flash 8 Professional.


Oficjalny podrcznik

Dodawanie elementw kontrolujcych


odtwarzanie
Komponenty, ktre znajduj si w panelu FLV Custom UI-Flash 8, nie s kompatybilne z obiektem
wideo. Moe si to na pocztku wydawa wad, ale w rzeczywistoci jest to zaleta, poniewa komponenty zwikszaj rozmiar pliku SWF. Utwrz wasne elementy nawigacyjne, a zauwaysz, e
rozmiar pliku SWF jest mniejszy.
W tym wiczeniu wykorzystasz kilka gotowych przyciskw, ktre zostay doczone do programu
Flash Professional 8. Jeli uznasz, e nie pasuj one do Twojego projektu, moesz zawsze utworzy
wasne w programach, takich jak Illustrator CS2 lub Photoshop CS2 firmy Adobe lub Freehand
MX i Fireworks 8 firmy Macromedia. Jeli si postarasz, moesz je nawet przygotowa w programie Flash Professional 8.
Pamitaj, e przyciski nie kontroluj filmu wideo. Ich zadaniem jest kontrola NetStream. Kliknicie przycisku Pause nie oznacza zatrzymania filmu wideo, a wysanie wiadomoci do serwera, by ten
zatrzyma wysyanie.
1. Wykorzystasz plik, ktry zapisae w poprzednim wiczeniu.

Jeli nie zapisae tego pliku, otwrz Buttons.fla, ktry znajduje si w katalogu Buttons w Lekcji 8.
Dodaj now warstw i nazwij j buttons.

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

285

2. Wybierz Window/Common Libraries/Buttons.

Otworzy si panel Library-Buttons. Obie wersje Flasha Flash 8 i Flash Professional 8


zawieraj duy wybr przyciskw, ktre mog by stosowane do tak rnych celw
jak nawigacja i kontrola materiau wideo.

Przyciski te znajduj si w kilku katalogach biblioteki Buttons. Dodanie do sceny przycisku


z tego panelu sprawia, e moesz robi z nim, co zechcesz, a orygina znajdujcy si
w bibliotece pozostanie niezmieniony.
3. Otwrz folder Circle Buttons, ktry znajduje si w katalogu classic buttons w panelu

Library-Buttons. Zaznacz warstw buttons i przecignij na scen kopie przyciskw Play i Stop.
Przecignicie na scen przycisku z panelu Buttons sprawi, e w bibliotece take pojawi si
kopia przycisku.

286

Macromedia Flash 8 Professional.


Oficjalny podrcznik

4. Zaznacz przycisk Play i w oknie Property inspector nadaj mu nazw instancji playButton.

5. Zaznacz przycisk Stop i w oknie Property inspector nadaj mu nazw instancji stopButton.

Przyciski maj ju nazwy instancji, wic mona uy ich wraz z kodem ActionScript
do kontroli odtwarzania wideo.

6. Zaznacz 1. klatk warstwy Actions i wcinij F9, by otworzy panel Actions.

Usu cao kodu, ktry wpisae w poprzednim wiczeniu, i zastp go poniszym,


zaczynajc od wiersza 1.:
var myVid:Video;
var playButton:Button;
var stopButton:Button;

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

287

Deklarujc zmienne i przypisujc im typy danych, upewniasz si, e mona do nich


zastosowa tylko taki kod, ktry odnosi si do materiau wideo lub przyciskw
zwizanych z tymi zmiennymi.

var myNetConnection:NetConnection = new NetConnection();


myNetConnection.connect(null);
var myNetStream:NetStream = new NetStream(myNetConnection);
myVid.attachVideo(myNetStream);
myNetStream.play("Converge.flv");
myNetStream.pause(true);

Ostatni wiersz kodu myNetStream.pause(true); wycza strumie i wstrzymuje


odtwarzanie do momentu, w ktrym uytkownik wcinie przycisk Play. Zauwa,
e warto logiczna tego stwierdzenia to true, czyli prawda.
Wszystko jest kwesti kontroli. Wykorzystanie pauzy bez parametru oznacza po prostu
przeczanie pomidzy stanem pauzy a stanem odtwarzania. W tym przypadku nie mamy
do czynienia z prawdziw kontrol. T kontrol zapewnia warto logiczna. Warto true
oznacza, e wiemy, i chcemy wczy pauz podczas odtwarzania wideo. Analogicznie
warto false oznacza ch rozpoczcia odtwarzania. Wykorzystanie przecznika pauzy
sprawdza si w przypadku pojedynczego przycisku, ktry moe wcza i wycza
odtwarzanie. Jeli jednak chcesz wstrzymywa odtwarzanie w sposb wiadomy,
powiniene uy wartoci logicznej.

7. Wcinij Return lub Enter i wprowad poniszy kod:


playButton.onPress = function() {
myNetStream.pause(false);
}
stopButton.onPress= function() {
myNetStream.pause(true);
}

Kliknicie przycisku spowoduje wywoanie metody pause(true); do zatrzymania strumienia


oraz pause(false); do rozpoczcia go.

288

Macromedia Flash 8 Professional.


Oficjalny podrcznik

8. Zapisz film i przetestuj go.

Po rozpoczciu filmu ekran bdzie pusty. Kliknij przycisk Play, a rozpocznie si odtwarzanie
materiau wideo. Zatrzymaj je przyciskiem Pause, a nastpnie znowu wcinij Play, by ponownie
wczy odtwarzanie.

Odtwarzanie wielu filmw wideo


wiczenia zawarte w rozdziaach tym i poprzednim koncentroway si na odtwarzaniu pojedynczego filmu wideo. Bardzo ciekawym aspektem komponentu FLVPlayback programu Flash
Professional 8 jest moliwo tworzenia wirtualnej playlisty skadajcej si z filmw wideo, ktre
LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

289

bd odtwarzane automatycznie. Jest to bardzo wana technika i warto j pozna. Zamiast przesya strumieniowo do odtwarzacza jeden zbyt duy plik FLV, moesz odtworzy seri krtszych
filmw. Ponadto playlista umoliwia dodawanie, usuwanie, a nawet zamienianie filmw bez koniecznoci powicania czasu na przygotowanie pliku MOV, konwertowanie go do pliku FLV, a nastpnie
wczytywanie do odtwarzacza.
W poniszym wiczeniu zbudujesz odtwarzacz, ktry moe wywietla dwa filmy Warrior.flv
i MAMMAAND.flv. Umieszcza on take tytu wywietlanego filmu w polu tekstowym, ktre znajduje si pod obrazem. Efekt ten uzyskujemy dziki utworzeniu listy plikw FLV, ktre maj zosta
wykorzystane, a nastpnie wczytaniu materiau wideo do instancji komponentu wczytanego w razie koniecznoci.
Filmy odtwarzane bd jeden po drugim dziki zastosowaniu waciwoci pliku FLV czasu
trwania. Napiszesz krtk funkcj, ktra po zakoczeniu odtwarzania biecego filmu rozpocznie
odtwarzanie nastpnego w kolejce. Dodasz te jeszcze jedn, krtk funkcj, ktra bdzie stale
sprawdzaa kolejno filmw, a po zakoczeniu odtwarzania ostatniego elementu rozpocznie cay
proces od pocztku. Jest to moliwe dziki waciwoci listy, ktra nosi nazw length (dugo).
Po dotarciu do ostatniego elementu listy film zostanie odtworzony do koca, a nastpnie proces
zatrzyma si.

W poniszym wiczeniu wykorzystamy tylko dwa filmy, ale musisz pamita, e rwnie atwo byoby
utworzy odtwarzacz zawierajcy 10 filmw. Musisz tylko wpisa w kodzie nazwy plikw wideo.

1. Uruchom program Flash Professional 8, utwrz nowy dokument i w oknie Property

inspector ustaw rozmiary sceny na 320280.


Materia wideo ma wymiary 320240, ale musisz take zostawi miejsce na tytu
wywietlanego filmu.

290

Macromedia Flash 8 Professional.


Oficjalny podrcznik

2. Dodaj dwie warstwy do listwy czasowej. Nadaj istniejcym warstwom nazwy Actions,
Video i Text.

Umieszczenie poszczeglnych elementw w oddzielnych warstwach sprawi, e bdziesz mg


je atwiej zaznacza.

3. Zaznacz warstw Text, wybierz narzdzie Text Tool nastpnie kliknij i przecignij,

by utworzy na scenie pole tekstowe. Wpisz do tego pola kilka liter wybranych losowo.
W oknie Property inspector wprowad ponisze dane:
Text type: Dynamic text
X: 23
Y: 250
Instance name: vidName
Font: Arial
Size: 16
Color: czarny (#000000)
Styl: pogrubienie
Aliasing: Anti-alias for Readability

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

291

Losowy cig liter ma pozwoli Ci na obejrzenie tekstu, ktry pojawi si w polu tekstowym podczas odtwarzania filmu. Zostanie on zastpiony tytuem odtwarzanego filmu wideo.

4. Zaznacz warstw Video i przecignij instancj komponentu FLVPlayback na scen.

Upewnij si, e komponent jest zaznaczony i w oknie Property inspector wpisz ponisze
wartoci:
Width: 320
Height: 240
X: 0
Y: 0
Instance name: vidComp

5. Zapisz plik w folderze Lekcja08.

Pamitaj, by zapisa pliki SWF i FLA w katalogu, w ktrym znajduj si wykorzystywane


pliki FLV. Filmy wideo zostan wczytane z katalogu, w ktrym znajduje si plik FLA.
Jeli w katalogu tym nie ma materiau wideo, filmy nie zostan odtworzone.

6. Zaznacz warstw Actions i wcinij F9, by otworzy panel Actions.

292

Macromedia Flash 8 Professional.


Oficjalny podrcznik

W panelu Actions wpisz poniszy kod:


var videoLoaderIndex:Number = 0;
var videoPlayerIndex:Number = 0;
var videoList:Array = new Array("Warrior.flv", "MAMMAAND.flv");
vidComp.contentPath = videoList[0];
vidName.text = vidComp.contentPath;
function eready(e:Object):Void {
if( videoLoaderIndex < videoList.length ) {
videoLoaderIndex++;
vidComp.activeVideoPlayerIndex = videoLoaderIndex;
vidComp.load( videoList[videoLoaderIndex] );
}
}
vidComp.addEventListener("ready", eready);
function ecomplete(e:Object):Void {
++videoPlayerIndex;
if(videoPlayerIndex >= videoList.length) {
videoPlayerIndex = 0;
}
vidComp.activeVideoPlayerIndex = videoPlayerIndex;
vidComp.visibleVideoPlayerIndex = videoPlayerIndex;
vidComp.play();
vidName.text = e.target.contentPath;
}
vidComp.addEventListener("complete", ecomplete );

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

293

Pierwsza cz kodu ustawia pocztkowe wartoci listy wideo.


var videoLoaderIndex:Number = 0;
var videoPlayerIndex:Number = 0;
var videoList:Array = new Array( "Warrior.flv", "MAMMAAND.flv");

Pierwsza zmienna (videoLoaderIndex) ma za zadanie przechowywa pierwsz warto


listy wideo, ktra nastpnie wczyta filmy do komponentu FLVPlayback. Druga zmienna
ma w zasadzie t sam funkcj, ale jej warto zostanie uyta, by wskaza komponentowi,
ktry film wideo naley odtworzy. Trzecia zmienna utworzy list filmw wideo. Wanie
w tym miejscu powiniene wpisa nazwy plikw FLV, ktre maj zosta odtworzone.
Kolejne dwa wiersze maj za zadanie wczyta pierwszy film wideo z listy do komponentu,
a ponadto doda nazw pliku do dynamicznego pola tekstowego, ktre znajduje si na scenie:
vidComp.contentPath = videoList[0];
vidName.text = vidComp.contentPath;

W dalszej czci kodu znajduj si dwie funkcje, ktre wykonuj ca prac. Pierwsza z nich
tworzy instancj odtwarzacza wideo dla kadego filmu, ktry znajduje si na licie wideo
wewntrz komponentu FLVPlayback (lista jest nastpnie wykorzystywana do wczytania
filmu wideo do instancji):
function eready(e:Object):Void {
if( videoLoaderIndex < videoList.length ) {
videoLoaderIndex++;
vidComp.activeVideoPlayerIndex = videoLoaderIndex;
vidComp.load( videoList[videoLoaderIndex] );
}
}

Pierwszy wiersz ma na celu zapewnienie, e wczytanie kadego filmu wideo jest


powizane ze zdarzeniem ready, ktre jest aktywowane przez komponent za kadym
razem, gdy wczytywany jest materia wideo. Oczywicie, liczba filmw nie jest
nieskoczona, wic instrukcja warunkowa dziaa w nastpujcy sposb:
Sprawdza, czy wszystkie filmy wideo zostay wczytane. Jeli tak, to wszystko gotowe.

Jeli s jeszcze jakie filmy, zostanie wykonany kod znajdujcy si w bloku instrukcji
warunkowej if(videoLoaderIndex < videoList.length).
Inkrementuje wskanik indeksujcy, by wskazywa nastpny film, ktry znajduje si

w tablicy: videoList(videoLoaderIndex++;).
Dwa kolejne wiersze funkcji wskazuj programowi Flash, by ustawi activeVideoPlayerIndex
poprzez wskazanie komponentowi FLVPlayback (vidComp), ktry odtwarzacz wideo zostanie
uyty do wczytania filmu:
vidComp.activeVideoPlayerIndex = videoLoaderIndex;
vidComp.load( videoList[videoLoaderIndex] );

Po zidentyfikowaniu filmu kolejny wiersz kodu wczyta go do odtwarzacza,


ale go nie uruchomi.

294

Macromedia Flash 8 Professional.


Oficjalny podrcznik

Nastpny wiersz czy wanie utworzon funkcj z obiektem nasuchujcym komponentu


FLVPlayback:
vidComp.addEventListener("ready", eready);

Program Flash wie ju, jakie filmy znajduj si w ktrej instancji komponentu pozostaje
jeszcze wskaza mu, co powinien zrobi po zakoczeniu odtwarzania filmu. Wanie tym
zajmuje si druga funkcja. Jest ona aktywowana za kadym razem, gdy koczy si film.
Pierwszy wiersz funkcji rozkazuje programowi Flash przejcie do nastpnego filmu:
++videoPlayerIndex;

Nastpny wiersz sprawdza list wartoci, by dowiedzie si, czy nie przekroczye liczby
filmw, ktre maj by odtworzone; jeli tak, proces rozpocznie si od nowa poprzez
wyzerowanie wartoci videoPlayerIndex. Jeli warto jest nisza, wiersz ten zostanie
pominity.
Pozostae wiersze funkcji napdzaj to, co widzisz na ekranie:
vidComp.activeVideoPlayerIndex = videoPlayerIndex;
vidComp.visibleVideoPlayerIndex = videoPlayerIndex;
vidComp.play();
vidName.text = e.target.contentPath;

Waciwo activeVideoPlayerIndex dostaje informacj o tym, ktrego filmu z listy uy,


nastpnie informacja ta przekazywana jest rwnie do waciwoci visibleVideoPlayerIndex,
ktra okrela, ktry film ma by widoczny, Gdy odtwarzacz stanie si widoczny,
rozpocznie si odtwarzanie filmu, a jego nazwa pojawi si w polu tekstowym.
Ostatni wiersz czy funkcj z komponentami poprzez dopisanie jej do obiektu
nasuchujcego (addEventListener()); funkcja ta zostanie wywoana po zakoczeniu
odtwarzania filmu:
vidComp.addEventListener("complete", ecomplete);

Komponenty wpywaj na zdarzenia w inny sposb ni klipy filmowe i przyciski. Klipy


filmowe i przyciski reaguj na uchwyty zdarze, np. onPress. Komponenty wykorzystuj
obiekty nasuchujce.
Model zdarze oparty o obiekty nasuchujce skada si z dwch czci: nadawcy i suchacza2.
Aby atwiej zrozumie t rnic, pomyl o rozmowie telefonicznej. Uchwyt zdarzenia klipu
filmowego lub przycisku to osoba, ktra mwi do telefonu. W takiej rozmowie s tylko dwie
strony i tylko jedna z nich syszy gos drugiej. Zdarzenie oparte o obiekt nasuchujcy przypomina
raczej audycj radiow, w ktrej moe uczestniczy np. 200 suchaczy zamiast dwch.
Obiekty nasuchujce zapewniaj uytkownikom wielk elastyczno, a ich zalety opisalimy
poniej.
2

Nazw listener mona przetumaczy wanie jako suchacz, kto kto nasuchuje przyp. tum.
LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

295

Do jednego zdarzenia mona przypisa nieskoczon liczb obiektw nasuchujcych.

Dla wanego zdarzenia moesz aktywowa dowoln liczb uchwytw zdarze. W tym
wiczeniu zdarzeniem jest zakoczenie filmu. Komponent nasuchuje w poszukiwaniu
tego zdarzenia, po czym znika.
Dla wielu zdarze mona ustawi obiekty nasuchujce tak, by reagoway tylko

na niektre z nich. Jeli jaka radiostacja transmituje piosenk, ktr lubisz, bdziesz
jej sucha. Jeli jednak bdzie to piosenka, ktrej nie lubisz, po prostu j zignorujesz.
Obiekty nasuchujce dziaaj w ten sam sposb. W przypadku naszych filmw, gdy
zakoczy si odtwarzanie, wyczy si tylko komponent odtwarzajcy materia wideo.
Zupenie nie interesuje go to, e kolejny wczytuje si i przygotowuje do odtwarzania.
Obiekt nasuchujcy moe reagowa na wiele zdarze. Przyciski reaguj tylko
na zdarzenie onPress. Obiekt nasuchujcy moe zareagowa na dowolne zdarzenie

(np. koniec filmu), poniewa wszystkie zdarzenia s dla niego dostpne.


7. Zapisz film i przetestuj go.

Zauwa, e oba filmy wygldaj tak, jakby byy jednym plikiem FLV.

Wykorzystanie klasy TransitionManager


w celu dodania do filmu przejcia Fade
W poprzednim wiczeniu dowiedziae si, jak wykorzysta kod ActionScript do odtworzenia wielu
filmw w taki sposb, by wyglday jak jeden duy film. Ponisze wiczenie oparte jest na wiedzy,
ktr ju posiadasz. Zamiast jednak tworzy jeden duy film, utworzysz film, ktry:
odtwarza film po wciniciu odpowiedniego przycisku,
wykorzystuje przejcie Fade po wciniciu przycisku uruchamiajcego drugi film.

Wykorzystanie klasy Transition (przejcie) powoduje, e film, ktry jest poczony z przyciskiem,
zacznie pojawia si ponad odtwarzanym materiaem wideo.
296

Macromedia Flash 8 Professional.


Oficjalny podrcznik

Podczas instalacji programu Flash Professional 8 zainstalowae take dwie bardzo wane klasy,
Tween i Transition. Dziki nim za porednictwem kodu ActionScript moesz dodawa efekty specjalne do klipw filmowych i komponentw. W poniszym wiczeniu utworzysz trzy instancje
komponentu FLVPlayback i wykorzystasz przejcie Fade, by sprawi, e materia wideo bdzie pojawia si i znika, w zalenoci od wybranego przycisku.
Program Flash Professional 8 zawiera 10 przej, ktrych opis znajdziesz poniej.
Iris. Odsania ekran lub klip filmowy za pomoc maski, ktra wykonuje zblienie.
Wipe. Odsania ekran lub klip filmowy za pomoc animowanej maski o ksztacie,

ktry porusza si w poziomie.


Pixel Dissolve. Ekran lub klip filmowy s maskowane za pomoc prostoktw,

ktre pojawiaj si i znikaj.


Blinds. Odsania nastpny ekran lub klip filmowy za pomoc prostoktw, ktre pojawiaj

si i znikaj.
Fade. Ekran lub klip filmowy powoli pojawiaj si lub zanikaj.
Fly. Ekran lub klip filmowy nasuwaj si z okrelonego kierunku.
Zoom. Przyblienie lub oddalenie ekranu albo klipu filmowego.
Squeeze. Zmiana rozmiaru ekranu lub klipu filmowego w pionie lub poziomie.
Rotate. Obrt ekranu lub klipu filmowego.
Photo. Ekran lub klip filmowy wygldaj tak, jakby zostay owietlone lamp aparatu

fotograficznego.
Powysze przejcia s dostpne za porednictwem klasy TransitionManager, ktrej funkcj jest zarzdzanie przejciami. Umoliwia ona przypisanie jednego z przej do klipw filmowych lub komponentw za pomoc kodu ActionScript.
1. Uruchom program Flash Professional 8, utwrz nowy dokument i w oknie Property
inspector ustaw wymiary sceny na 320280.

Filmy, ktrych uyjesz, maj wymiary 320240, ale musisz zostawi te miejsce na przyciski.
2. Dodaj dwie nowe warstwy i nadaj im nazwy Actions, Video i Buttons.

Rozdzielenie elementw umoliwia atwiejsze ich zaznaczanie.

3. Zaznacz warstw Buttons i wybierz Window/Common Libraries/Buttons.

Otwrz katalog classic buttons/Push Buttons w panelu Library-Buttons. Przecignij kopie push
button-yellow, push button-blue oraz push button-red na scen (zobacz rysunek na nastpnej stronie).
LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

297

4. Zaznacz kady z przeniesionych na scen przyciskw i w oknie Property inspector

nadaj im nazwy instancji:


video1Button
video2Button
video3Button

298

Macromedia Flash 8 Professional.


Oficjalny podrcznik

5. Zaznacz warstw Video i przecignij na scen instancj komponentu FLVPlayback.

Zaznacz ten komponent i w oknie Property inspector wpisz ponisze wartoci:


Width: 320
Height: 240
X: 0
Y: 0
Instance name: vidcomp

6. Zapisz plik w katalogu Lekcja08.

7. Zaznacz warstw Actions i wcinij F9, by otworzy panel ActionScript.

W panelu Actions wpisz poniszy kod:


import mx.transitions.*;
var videoLoadedCount:Number = 0;
var videoPlayerIndex:Number = 0;
var videoList:Array = new Array("Warrior.flv","Converge.flv",
"MAMMAAND.flv");
for (var loaderLoop:Number = 1; loaderLoop <= videoList.length; loaderLoop++
) {
vidcomp.activeVideoPlayerIndex = loaderLoop;
vidcomp.load( videoList[loaderLoop - 1] );
LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

299

}
function eready(e:Object):Void {
++videoLoadedCount;
if ( videoLoadedCount == videoList.length ) {
for (var playerLoop:Number = 1; playerLoop <= videoList.length;
playerLoop++ ) {
e.target.activeVideoPlayerIndex = playerLoop;
e.target.play();
}
}
}
vidcomp.addEventListener("ready", eready);
function ecomplete(e:Object):Void {
for (var playerLoop:Number = 1; playerLoop <= videoList.length;
playerLoop++ ) {
e.target.activeVideoPlayerIndex = playerLoop;
e.target.play();
}
}
vidcomp.addEventListener("complete", ecomplete);
function transDone(e) {
vidcomp.visibleVideoPlayerIndex = e.target.content._name;
trace(e.target.content._name);
}
function buttonTransition(m:MovieClip, d:Number) {
if (d != m.visibleVideoPlayerIndex) {
var other:MovieClip = m.getVideoPlayer(d);
m.bringVideoPlayerToFront(d);
var vp:MovieClip = other;
TransitionManager.start(vp,{type:mx.transitions.Fade,
direction:0,
duration:4,
easing:mx.transitions.easing.None.easeNone,
param1:empty,
param2:empty});
vp.__transitionManager.addEventListener("allTransitionsInDone",transDone);
}
}
video1Button.onPress = function() {
buttonTransition(_level0.vidcomp, 1);
};
video2Button.onPress = function() {
buttonTransition(_level0.vidcomp, 2);
};
video3Button.onPress = function() {
buttonTransition(_level0.vidcomp, 3);
};

Na pierwszy rzut oka jest to naprawd dua ilo kodu, ale w rzeczywistoci jest on oparty
na poprzednim wiczeniu. Rnica polega gwnie na wykorzystaniu klasy
TransitionManager w celu aktywowania przejcia Fade oraz trzech przyciskw, ktre s
powizane z wykorzystywanymi w tym wiczeniu filmami.
300

Macromedia Flash 8 Professional.


Oficjalny podrcznik

W kodzie ActionScript z poprzedniego wiczenia pojawiy si take dwie inne zmiany. Komenda
eready czeka, dopki nie zostan wczytane wszystkie filmy (sprawdzenie nastpuje przy pomocy
licznika), a nastpnie sprawia, by kada instancja filmu wideo zostaa odtworzone. Kod funkcji
ecomplete powoduje po prostu, e kada instancja wideo zostanie odtworzona po zakoczeniu
odtwarzania poprzedniego filmu.
Zamiast analizowa cay przedstawiony powyej kod ActionScript, przyjrzymy si raczej jego najwaniejszym czciom.
Pierwszy wiersz wskazuje programowi Flash, gdzie ma szuka przej. Jeli chcesz umieci go
w swoim wasnym skrypcie, pamitaj, by znajdowa si w pierwszym wierszu kodu:
import mx.transitions.*;

Przejcia (Transitions) s klas, a klasy posiadaj organizacj przypominajc struktur katalogw.


W wietle terminologii zwizanej z programowaniem obiektowym okreleniem, ktre zastpuje
katalog (directory), jest pakiet (package). Pakiety importuje si za pomoc komendy import. W naszym przypadku komenda oznacza: Importuj przejcia z podpakietu o nazwie transitions, ktry
znajduje si w pakiecie mx. Wstawienie do kodu gwiazdki oznacza, e chcemy, by program Flash
importowa wszystkie klasy, ktre znajdzie w podpakiecie transitions.
Pierwsza cz kodu to funkcja, jedynym jej zadaniem jest okrelenie, ktre z instancji bd widoczne na scenie:
function transDone(e) {
vidcomp.visibleVideoPlayerIndex = e.target.content._name;
trace(e.target.content._name);
}

Funkcja trace() umieszcza nazw widocznego w danej chwili komponentu FLVPlayback w panelu
Output okna Property inspector.

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

301

Druga funkcja to ju przejcie waciwe, ktre aktywuje si, gdy zostanie wcinity jeden z trzech
znajdujcych si na scenie przyciskw.

W pierwszym wierszu funkcji nadawana jest nazwa. Nazwany zostaje te komponent FLVPlayback
(jest to klip filmowy m), a take numer instancji (trzy zostay utworzone ju wczeniej) d.
function buttonTransition(m:MovieClip, d:Number) {

Nastpna cz funkcji odnajduje widoczny w danej chwili klip filmowy, a take klip filmowy,
ktry nie jest widoczny, ale powizany z wcinitym przyciskiem. Drugi z wymienionych klipw
zostanie umieszczony przed tym, ktry jest w danej chwili odtwarzany: bringVideoPlayerToFront(d);.
if (d != m.visibleVideoPlayerIndex) {
var other:MovieClip = m.getVideoPlayer(d);
m.bringVideoPlayerToFront(d);
var vp:MovieClip = other;

Instancje te zostay zamienione miejscami ta, ktra znajduje si z przodu, musi zacz pojawia
si, wykorzystujc w tym celu przejcie Fade. Efekt ten osigniemy za pomoc klasy TransitionManager.
TransitionManager.start(vp,{type:mx.transitions.Fade,
direction:Transition.IN,
duration:4,
easing:mx.transitions.easing.None.easeNone,
param1:empty,
param2:empty});
vp.__transitionManager.addEventListener("allTransitionsInDone",transDone);
}
}

Pierwszy wiersz tego kodu odwouje si do metody TransitionManager.Start(), ktra tworzy


now instancj TransitionManager, okrela obiekt docelowy (vp), przypisuje przejcie (Fade) metod
easing (easing:mx.transitions.easing.None.easeNone) i wykonuje przejcie (vp.__transitionManager.addEventListener("allTransitionsInDone",transDone);) wszystko za jednym razem.
302

Macromedia Flash 8 Professional.


Oficjalny podrcznik

Nie moesz oczekiwa, e po prostu wczytasz przejcie Fade i bdzie ono dziaao. Klasa ta wymaga
podania jej penej nazwy (mx.transitions.Fade) jako parametru klasy TransitionManager. Po
ustawieniu przejcia Fade musisz ustali warto kierunku (uyj staej Transition.IN, by osign
efekt pojawiania si) i czas trwania efektu. W tym przypadku materia wideo bdzie pojawia si
w przecigu p sekundy.
Metoda easing jest zazwyczaj zarezerwowana dla przej, ktre przemieszczaj klip filmowy po
scenie w sposb fizyczny. W tym przypadku moemy okreli w czasie trwania przejcia miejsce,
w ktrym zadziaa metoda easing na pocztku, kocu lub w obu miejscach. Dostpne s cztery
metody easing:
easeIn: efekt aktywuje si na pocztku przejcia,
easeOut: efekt aktywuje si na kocu przejcia,
easeInOut: efekt aktywuje si zarwno na pocztku, jak i kocu przejcia,
easeNone: brak oblicze easing; warto ta zostaa uyta w naszym przykadzie.

Ostatnia partia kodu kieruje tym, co dzieje si po wciniciu kadego z przyciskw.


video1Button.onPress = function() {
buttonTransition(_level0.vidcomp, 1);
};

Funkcja buttonTransition() jest aktywowana za pomoc wcinicia przycisku; komponent FLVPlayback jest przenoszony na wierzch stosu gwnej listwy czasowej i otrzymuje identyfikator ID 1.

LEKCJA 8.
Tworzenie wasnego odtwarzacza wideo w programie Flash

303

Czego si nauczye?
W czasie tej lekcji:
Zaware materia wideo w obiekcie wideo (strony od 279 do 282),
Utworzye obiekty NetConnection i NetStream w celu przesania strumieniowego materiau

wideo z serwera (strony od 282 do 284),


Dodae elementy kontrolne do obiektu wideo (strony od 285 do 289),
Wykorzystae akcje nasuchujce w celu przewijania odtwarzania sekwencyjnego

(strony od 289 do 296),


Poznae klas TransitionManager (strony od 296 do 303),
Dodae do filmu przejcie typu Fade (strony od 296 do 303).

304

Macromedia Flash 8 Professional.


Oficjalny podrcznik

You might also like