33
Wydawnictwo Helion ul. Kociuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: [email protected] Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce Autor: Russell Chun T‡umaczenie: Joanna Pasek ISBN: 978-83-246-1342-7 Tytu‡ orygina‡u: Flash CS3 Professional Advanced for Windows and Macintosh: Visual QuickPro Guide Format: 168x237, stron: 530 Odkryj najg‡Œbiej strze¿one tajemnice Flasha Jak tworzy rozbudowane animacje? W jaki sposb kontrolowa obiekty, wykorzystuj„c ActionScript? Jak pobiera dane z zewnŒtrznych rde‡? Flash CS3 Professional to kolejne wcielenie narzŒdzia, ktre zyska‡o uznanie dziesi„tek tysiŒcy twrcw witryn WWW. Jednak jego niesamowite mo¿liwoci w zakresie tworzenia grafiki i animacji to tylko wierzcho‡ek gry lodowej. Swoj„ prawdziw„ potŒgŒ Flash ujawnia, gdy siŒgniemy po rozwi„zania oparte na wbudowanym, obiektowym jŒzyku programowania nosz„cym nazwŒ ActionScript 3.0. Za jego pomoc„ mo¿emy kontrolowa niemal ka¿dy aspekt animacji i wszystkie obiekty wchodz„ce w jej sk‡ad, sterowa wywietlaniem i pobieraniem danych oraz odtwarzaniem dwiŒku. Jestemy w stanie wykreowa niesamowite efekty, jakich nigdy nie uzyskalibymy, wykorzystuj„c inne techniki. W ksi„¿ce Flash CS Professional PL. Techniki zaawansowane. Klatka po klatce" opisano techniki tworzenia animacji zwi„zane ze stosowaniem jŒzyka ActionScript. Czytaj„c j„, poznasz podstawy tego jŒzyka, a tak¿e dowiesz siŒ, w jaki sposb pisa skrypty i do jakich obiektw je do‡„cza. Nauczysz siŒ kontrolowa elementy graficzne, dwiŒkowe, tekstowe i nawigacyjne umieszczone w prezentacji za pomoc„ poleceæ ActionScriptu. Opanujesz sposoby ‡„czenia witryn WWW tworzonych we Flashu z zewnŒtrznymi plikami, przegl„dark„ internetow„ i serwerem, na ktrym s„ publikowane. Znajdziesz tu tak¿e informacje o wykrywaniu b‡Œdw w skryptach i ich usuwaniu. Animacje poklatkowe i automatyczne Animowane maski Rotoskopia Edycja kodu ActionScript w panelu Actions Tworzenie funkcji Obs‡uga zdarzeæ w animacji Zarz„dzanie listwami czasowymi Tworzenie elementw nawigacyjnych Pobieranie plikw multimedialnych z zewnŒtrznych rde‡ Przetwarzanie elementw graficznych i dwiŒkowych oraz danych tekstowych Operacje matematyczne we Flashu Optymalizacja filmw Odkryj zapieraj„ce dech w piersiach mo¿liwoci synergii Flasha i jŒzyka ActionScript!

Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Embed Size (px)

DESCRIPTION

Odkryj najgłębiej strzeżone tajemnice Flasha * Jak tworzyć rozbudowane animacje?* W jaki sposób kontrolować obiekty, wykorzystując ActionScript?* Jak pobierać dane z zewnętrznych źródeł?Flash CS3 Professional to kolejne wcielenie narzędzia, które zyskało uznanie dziesiątek tysięcy twórców witryn WWW. Jednak jego niesamowite możliwości w zakresie tworzenia grafiki i animacji to tylko wierzchołek góry lodowej. Swoją prawdziwą potęgę Flash ujawnia, gdy sięgniemy po rozwiązania oparte na wbudowanym, obiektowym języku programowania noszącym nazwę ActionScript 3.0. Za jego pomocą możemy kontrolować niemal każdy aspekt animacji i wszystkie obiekty wchodzące w jej skład, sterować wyświetlaniem i pobieraniem danych oraz odtwarzaniem dźwięku. Jesteśmy w stanie wykreować niesamowite efekty, jakich nigdy nie uzyskalibyśmy, wykorzystując inne techniki.W książce „Flash CS Professional PL. Techniki zaawansowane. Klatka po klatce" opisano techniki tworzenia animacji związane ze stosowaniem języka ActionScript. Czytając ją, poznasz podstawy tego języka, a także dowiesz się, w jaki sposób pisać skrypty i do jakich obiektów je dołączać. Nauczysz się kontrolować elementy graficzne, dźwiękowe, tekstowe i nawigacyjne umieszczone w prezentacji za pomocą poleceń ActionScriptu. Opanujesz sposoby łączenia witryn WWW tworzonych we Flashu z zewnętrznymi plikami, przeglądarką internetową i serwerem, na którym są publikowane. Znajdziesz tu także informacje o wykrywaniu błędów w skryptach i ich usuwaniu.* Animacje poklatkowe i automatyczne* Animowane maski* Rotoskopia* Edycja kodu ActionScript w panelu Actions* Tworzenie funkcji * Obsługa zdarzeń w animacji* Zarządzanie listwami czasowymi* Tworzenie elementów nawigacyjnych* Pobieranie plików multimedialnych z zewnętrznych źródeł* Przetwarzanie elementów graficznych i dźwiękowych oraz danych tekstowych* Operacje matematyczne we Flashu* Optymalizacja filmówOdkryj zapierające dech w piersiach możliwości synergii Flasha i języka ActionScript!

Citation preview

Page 1: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Wydawnictwo Helionul. Ko�ciuszki 1c44-100 Gliwicetel. 032 230 98 63e-mail: [email protected]

Flash CS3 Professional PL.Techniki zaawansowane.Klatka po klatceAutor: Russell ChunT³umaczenie: Joanna PasekISBN: 978-83-246-1342-7Tytu³ orygina³u: Flash CS3 ProfessionalAdvanced for Windows and Macintosh:Visual QuickPro GuideFormat: 168x237, stron: 530

Odkryj najg³êbiej strze¿one tajemnice Flasha

� Jak tworzyæ rozbudowane animacje?� W jaki sposób kontrolowaæ obiekty, wykorzystuj¹c ActionScript?� Jak pobieraæ dane z zewnêtrznych �róde³?

Flash CS3 Professional to kolejne wcielenie narzêdzia, które zyska³o uznaniedziesi¹tek tysiêcy twórców witryn WWW. Jednak jego niesamowite mo¿liwo�ciw zakresie tworzenia grafiki i animacji to tylko wierzcho³ek góry lodowej. Swoj¹ prawdziw¹ potêgê Flash ujawnia, gdy siêgniemy po rozwi¹zania oparte na wbudowanym, obiektowym jêzyku programowania nosz¹cym nazwê ActionScript 3.0. Za jego pomoc¹ mo¿emy kontrolowaæ niemal ka¿dy aspekt animacji i wszystkie obiekty wchodz¹ce w jej sk³ad, sterowaæ wy�wietlaniem i pobieraniem danych oraz odtwarzaniem d�wiêku. Jeste�my w stanie wykreowaæ niesamowite efekty, jakich nigdy nie uzyskaliby�my, wykorzystuj¹c inne techniki. W ksi¹¿ce �Flash CS Professional PL. Techniki zaawansowane. Klatka po klatce" opisano techniki tworzenia animacji zwi¹zaneze stosowaniem jêzyka ActionScript. Czytaj¹c j¹, poznasz podstawy tego jêzyka, a tak¿e dowiesz siê, w jaki sposób pisaæ skrypty i do jakich obiektów je do³¹czaæ. Nauczysz siê kontrolowaæ elementy graficzne, d�wiêkowe, tekstowe i nawigacyjne umieszczonew prezentacji za pomoc¹ poleceñ ActionScriptu. Opanujesz sposoby ³¹czenia witryn WWW tworzonych we Flashu z zewnêtrznymi plikami, przegl¹dark¹ internetow¹i serwerem, na którym s¹ publikowane. Znajdziesz tu tak¿e informacje o wykrywaniu b³êdów w skryptach i ich usuwaniu.

� Animacje poklatkowe i automatyczne� Animowane maski� Rotoskopia� Edycja kodu ActionScript w panelu Actions� Tworzenie funkcji � Obs³uga zdarzeñ w animacji� Zarz¹dzanie listwami czasowymi� Tworzenie elementów nawigacyjnych� Pobieranie plików multimedialnych z zewnêtrznych �róde³� Przetwarzanie elementów graficznych i d�wiêkowych oraz danych tekstowych� Operacje matematyczne we Flashu� Optymalizacja filmów

Odkryj zapieraj¹ce dech w piersiach mo¿liwo�ci synergii Flasha i jêzyka ActionScript!

Page 2: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

5

Spis tre�ci

Spis tre�ci

Wst�p 9

Cz��� I Zaawansowane animacje 13Rozdzia� 1. Tworzenie z�o�onych projektów 15

Automatyczna animacja ruchu ................................................................................ 16Automatyczna animacja kszta�tu ............................................................................. 28Efekty specjalne ...................................................................................................... 33Animowane i z�o�one maski .................................................................................... 38

Rozdzia� 2. Praca z wideo 49Osadzanie plików wideo we Flashu ....................................................................... 50Zewn�trzne pliki wideo; stopniowe pobieranie filmów w trakcie odtwarzania ...... 59Rotoskopia ............................................................................................................... 65

Cz��� II Interaktywno�� 67

Rozdzia� 3. Pos�ugiwanie si� j�zykiem ActionScript 69Co kryje nazwa ActionScript 3.0? .......................................................................... 70Obiekty i klasy ......................................................................................................... 71Metody i w�a�ciwo�ci .............................................................................................. 72U�ywanie notacji kropkowej ................................................................................... 73Wi�cej na temat interpunkcji ................................................................................. 75Panel Operacje ........................................................................................................ 76Edycja kodu ActionScript ....................................................................................... 85U�ywanie obiektów ................................................................................................. 88Funkcje .................................................................................................................... 97Stosowanie komentarzy ......................................................................................... 101

Rozdzia� 4. Wi�cej o przyciskach i obs�udze zdarze� 103Odbieranie zdarze� ............................................................................................... 104Obs�uga myszy ....................................................................................................... 106Klasa SimpleButton ............................................................................................... 110Niewidoczne przyciski .......................................................................................... 114Animowane przyciski a klipy filmowe .................................................................. 116Z�o�one przyciski ................................................................................................... 119Mo�liwo�ci �ledzenia przycisków ......................................................................... 123Zmiana zachowania przycisku .............................................................................. 126

Spis tre�ci

Page 3: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Spis tre�ci

6

Spis

tre

�ci

Dynamiczne tworzenie przycisków ......................................................................... 129Obs�uga klawiatury ................................................................................................ 131Menu podr�czne ................................................................................................... 134Tworzenie powtarzaj�cych si� akcji ..................................................................... 140Obiekt Timer ......................................................................................................... 141Podsumowanie zdarze� ........................................................................................ 144

Rozdzia� 5. Praca z wieloma listwami czasowymi 145Nawigowanie listwami czasowymi klipów filmowych ........................................ 146�cie�ki adresowe ................................................................................................... 147Bezwzgl�dne i wzgl�dne �cie�ki adresowe ......................................................... 151U�ywanie akcji with do adresowania klipów filmowych ..................................... 153Klipy filmowe jako kontenery ............................................................................... 155Etykiety uj� .......................................................................................................... 159

Rozdzia� 6. Zarz�dzanie komunikacj� zewn�trzn� 163Komunikowanie si� przez przegl�dark� internetow� ......................................... 164�adowanie zewn�trznych filmów Flasha ............................................................. 180Kontrolowanie za�adowanych filmów Flasha ...................................................... 185�adowanie zewn�trznych obrazów ...................................................................... 190Komunikacja z zewn�trznym wideo .................................................................... 193Stosowanie projektorów i akcji fscommand ......................................................... 200Komunikowanie si� z drukark� ............................................................................ 203Wykrywanie pobierania danych z sieci — wska�niki post�pu �adowania ......... 212

Cz��� III Sterowanie grafik� i dwi�kiem 221Rozdzia� 7. Sterowanie grafik� 223

Lista wy�wietlania ................................................................................................. 224Zmiana w�asno�ci obiektu graficznego ................................................................. 225Skalowanie i zniekszta�canie obiektów ................................................................ 232Zmiana koloru ........................................................................................................ 236Mieszanie kolorów ................................................................................................ 242U�ycie filtrów do tworzenia efektów specjalnych ............................................... 245Przeci�ganie i upuszczanie obiektów ................................................................... 248Wykrywanie kolizji obiektów ............................................................................... 252Dynamiczne tworzenie obiektów ........................................................................... 255Kontrolowanie kolejno�ci nak�adania obiektów .................................................. 258Dynamiczne tworzenie kszta�tów ......................................................................... 261Dynamiczne maski ................................................................................................ 278Dostosowanie wygl�du wska�nika myszy ............................................................ 284Podstawy animacji za pomoc� j�zyka ActionScript ............................................. 286Obrazy bitmapowe ................................................................................................ 291Tworzenie bitmap i dost�p do nich ...................................................................... 292

Page 4: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Spis tre�ci

7

Spis tre�ci

Edycja bitmap ........................................................................................................ 298U�ywanie filtrów do modyfikacji bitmap ............................................................. 308Animowanie bitmap .............................................................................................. 311

Rozdzia� 8. Sterowanie dwi�kiem 315Wprowadzanie d�wi�ków ..................................................................................... 316Odtwarzanie d�wi�ków z biblioteki ..................................................................... 317Wczytywanie i odtwarzanie zewn�trznych d�wi�ków ........................................ 319Sterowanie odtwarzaniem d�wi�ków ................................................................... 321Modyfikacja nat��enia i balansu d�wi�ku ............................................................ 325Wykrywanie zdarze� d�wi�ku .............................................................................. 330Wykorzystanie znaczników informacyjnych plików MP3 .................................. 332Wizualizacja d�wi�ku ............................................................................................ 335Tworzenie dynamicznego sterowania d�wi�kiem ............................................... 338

Cz��� IV Przetwarzanie informacji 343Rozdzia� 9. Sterowanie przep�ywem informacji 345

Zmienne i wyra�enia ............................................................................................. 346Wczytywanie zewn�trznych zmiennych .............................................................. 350Przechowywanie i wspó�dzielenie informacji ...................................................... 359Modyfikacja zmiennych ........................................................................................ 365Dynamiczne generowanie nazw zmiennych za pomoc� wyra�e� ...................... 367Testowanie informacji za pomoc� instrukcji warunkowych ................................. 369Alternatywa dla instrukcji warunkowej ................................................................ 374Rozga��zione instrukcje warunkowe .................................................................... 376��czenie warunków z operatorami logicznymi ................................................... 380P�tle ....................................................................................................................... 382

Rozdzia� 10. Tekst 387Wej�ciowe pole tekstowe ...................................................................................... 388Dynamiczne pole tekstowe ................................................................................... 390Opcje pól tekstowych ............................................................................................ 392Wy�wietlanie tekstu w formacie HTML .............................................................. 395W�a�ciwo�ci klasy TextField ................................................................................. 400Dynamiczne generowanie pól tekstowych .......................................................... 410Edycja tekstu w polach tekstowych ..................................................................... 412Formatowanie pól tekstowych z wykorzystaniem zewn�trznych

arkuszy stylów ..................................................................................................... 422Wykrywanie aktywnego pola tekstowego ............................................................ 426Uaktywnianie pól tekstowych i zaznaczanie tekstu w polach tekstowych ......... 429Analiza tekstu ......................................................................................................... 431Aran�acja tekstów .................................................................................................. 441

Page 5: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Spis tre�ci

8

Spis

tre

�ci

Rozdzia� 11. Przetwarzanie informacji 445Obliczenia przy u�yciu klasy Math ...................................................................... 446Wyliczanie k�tów .................................................................................................. 447Tworzenie ukierunkowanego ruchu ..................................................................... 456Obliczanie odleg�o�ci ............................................................................................ 460Generowanie liczb losowych ................................................................................ 462Przechowywanie informacji w tablicach .............................................................. 463Obs�uga obiektów umieszczonych w tablicy ....................................................... 470Data i czas .............................................................................................................. 475

Rozdzia� 12. Zarz�dzanie zawarto�ci� i usuwanie b��dów 483Wspó�dzielenie symboli z biblioteki .................................................................... 484Wspó�dzielenie czcionek ...................................................................................... 491Do��czanie zewn�trznego kodu ActionScript ..................................................... 494Panel Eksplorator filmu ........................................................................................ 497�ledzenie zmiennych w panelu Wyj�cie .............................................................. 501Okre�lanie typu zmiennej ..................................................................................... 503Optymalizacja filmu .............................................................................................. 504Unikanie typowych b��dów .................................................................................. 508

Dodatek A Klawisze i odpowiadaj�ce im kody 509

Skorowidz 511

Page 6: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

315

Rozdzia� 8. Sterowanie dwi�kiem

Wprowadzenie d�wi�ku do filmu Flasha wzbogaca dowoln� animacj� lub nawet najprostszyprojekt interaktywny, poniewa� anga�uje si� wi�cej zmys�ów u�ytkownika. Muzykaodtwarzana w tle wprowadza w odpowiedni nastrój, narracja u�atwia opowiedzeniehistoryjki, a d�wi�ki odtwarzanie na przyk�ad po klikni�ciu przycisku lub przy przeci�ganiuobiektów po scenie dostarczaj� dodatkowych informacji. Flash obs�uguje kilka formatówzapisu d�wi�ku, przede wszystkim formaty WAV, AIF i MP3. Pozwalaj� one korzystaz bardzo szerokiego spektrum d�wi�ków. Dodatkowo Flash potrafi dynamicznie �adowazewn�trzne pliki MP3 w trakcie odtwarzania filmu, co pozwala bez trudu tworzy filmyzawieraj�ce du�� ilo� d�wi�ku.

W tym rozdziale zajmiemy si� d�wi�kiem i klasami, które s� przeznaczone do jego obs�ugi:klas� Sound, SoundChannel, SoundMixer, SoundTransform oraz SoundEvent. Dowiesz si�, jak przyu�yciu klasy Sound odtwarza d�wi�ki z biblioteki bez potrzeby umieszczania ichw klatkach kluczowych. Nauczysz si� obs�ugiwa d�wi�ki znajduj�ce si� w zewn�trznychplikach, a tym samym wydajnie zarz�dza filmami Flasha i odtwarzan� w nich muzyk�.Z poziomu kodu ActionScript mo�na rozpocz� odtwarzanie d�wi�ku, zatrzyma je,zmieni g�o�no� lub balans. W ten sposób mo�na dynamicznie reagowa na dzia�aniau�ytkownika lub animacj�. Dowiesz si� równie�, w jaki sposób wykorzysta w�a�ciwo�cii zdarzenia klasy Sound, by zapewni synchronizacj� d�wi�ku z animacj� lub z innymid�wi�kami.

Wszystkie te narz�dzia s�u�� do tego, by zapewni elastyczny i skuteczny system integracjid�wi�ku z filmami Flasha. Mo�na na przyk�ad wykona suwak zapewniaj�cy zmian�g�o�no�ci lub uzale�ni odtwarzan� muzyk� od aktualnego przebiegu gry. Mo�na wykonapokaz slajdów zsynchronizowany z muzyk�, a nawet w�asny odtwarzacz plików MP3.

Sterowanie dwi�kiem 8Sterow

anie dwi�kiem

Page 7: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

316

Wprowadzanie dwi�kówJest kilka sposobów do��czania d�wi�ków do filmuFlasha. Najprostszym z nich jest zaimportowanied�wi�ku i r�czne umieszczenie go w klatcekluczowej. Na listwie czasowej wy�wietlana jestwtedy graficzna reprezentacja fali d�wi�kowej,która pomaga si� nam zorientowa, kiedy d�wi�kzaczyna by odtwarzany, a kiedy si� ko�czy(rysunek 8.1). Drugi sposób to zaimportowad�wi�k i odtworzy go dynamicznie w trakcietrwania filmu. Dopóki nie zarz�dzisz odtworzeniatakiego d�wi�ku za pomoc� ActionScript, pozostajeon w bibliotece (rysunek 8.2). Trzeci sposóbpolega na dynamicznym za�adowaniu i odtworzeniud�wi�ku zapisanego w pliku zewn�trznym(rysunek 8.3). Ten rozdzia� jest po�wi�conydrugiej i trzeciej z wymienionych metod.Odtwarzaj�c d�wi�k dynamicznie, mo�emysterowa momentem jego pojawienia si�i g�o�no�ci� (tak�e oddzielnie dla lewego i prawegog�o�nika) oraz pobiera informacje na tematpost�pu �adowania lub post�pu odtwarzaniaplików d�wi�kowych.

Ka�dy d�wi�k odtwarzany z poziomu ActionScriptwymaga utworzenia dla niego egzemplarza klasySound. Maj�c taki egzemplarz, mo�emyzastosowa dla niego metod� play(), by odtworzyd�wi�k. W trakcie powstaje egzemplarz klasySoundChannel, wyposa�ony we w�asno�ci, dzi�kiktórym mo�emy sterowa d�wi�kiem. Jedn�z tych w�asno�ci jest obiekt SoundTransform, którypozwala kontrolowa globalne nat��enie d�wi�kuoraz jego balans, czyli rozk�ad g�o�no�ci na prawyi lewy g�o�nik.

Rysunek 8.1. Umieszczenie dwi�ku w klatcekluczowej na listwie czasowej to najprostszysposób do��czenia dwi�ku do filmu,niewymagaj�cy u�ycia ActionScript

Rysunek 8.2. Dwi�ki zaimportowane do bibliotekimog� by� odtwarzane w trakcie odtwarzania filmutak�e bez umieszczania ich na listwie czasowej,je�li u�yjemy ActionScript

Rysunek 8.3. Oddzielny plik dwi�kowy MP3mo�e zosta� za�adowany do filmu Flasha (SWF)i odtworzony za pomoc� ActionScript

Wpr

owad

zani

e d

wi�

ków

Page 8: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

317

Odtwarzanie dwi�kówz bibliotekiMo�esz zaimportowa wszystkie potrzebned�wi�ki do biblioteki podczas pracyw �rodowisku edycyjnym Flasha, a potemodtwarza je w odpowiednich momentachw trakcie odgrywania filmu. Wymaga to jednakudost�pnienia symboli d�wi�kowych z biblioteki�rodowisku ActionScript. Robimy to tak samo,jak w przypadku symboli graficznych.W rozdziale 7. procedura ta zosta�a opisanadla symboli klipów filmowych oraz symbolibitmap. Polega to na utworzeniu nowej klasydla symbolu, b�d�cej rozszerzeniem jednejz ju� istniej�cych klas, dzi�ki czemu mo�emytworzy nowe egzemplarze danego symboludynamicznie, za pomoc� funkcji konstruktora.W przypadku symboli d�wi�kowych b�dziemykorzysta z rozszerze� klasy Sound. Nazw�tworzonej klasy mo�na ustali w oknieW�a�ciwo�ci po��czenia, po wybraniupolecenia ��czenie z menu opcji paneluBiblioteka.

Rysunek 8.4. Wybierz polecenie ��czenie z menuopcji panelu Biblioteka dla ka�dego symboludwi�kowego, który chcesz kontrolowa�z poziomu ActionScript

Aby przygotowa� symbol dwi�kowyz biblioteki do odtwarzania z ActionScript:

1. Zaimportuj do Flasha plik d�wi�kowy,wybieraj�c polecenie Plik/Importuj/Importujdo biblioteki i otwieraj�c plik d�wi�kowy.

Wybrany plik d�wi�kowy pojawi si�w bibliotece filmu. Masz do wyborunast�puj�ce formaty pliku d�wi�kowego:WAV (dla Windows) AIF (Mac OS) oraz MP3(Windows i Mac OS). Wi�cej formatów mo�eby dost�pnych, gdy masz zainstalowanyprogram QuickTime na swoim komputerze.

2. Zaznacz symbol d�wi�kowy w paneluBiblioteka.

3. Z menu opcji panelu Biblioteka wybierzpolecenie ��czenie (rysunek 8.4).

Pojawia si� okno dialogowe W�a�ciwo�cipo��czenia.

4. W polu ��czenie zaznacz opcj� Eksportujdla ActionScript. Pozostaw w��czon� opcj�Eksport w pierwszej klatce.

5. W polu tekstowym Klasa wpisz nazw� klasy.Dzi�ki tej nazwie b�dziesz móg� zidentyfikowadany d�wi�k w ActionScript. W polu Klasabazowa pozostaw klas� flash.media.Sound.Kliknij OK (rysunek 8.5).

Rysunek 8.5. Dla symbolu dwi�kowego zosta�autworzona nowa klasa GuitarLoop, dziedzicz�cametody i w�asno�ci klasy Sound

Odtw

arzanie dwi�ków

z biblioteki

Page 9: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

318

Mo�e pojawi si� okno dialogowe z ostrze�eniem,�e klasa o takiej nazwie nie zosta�a znaleziona,b�dzie wi�c musia�a zosta utworzona (rysunek8.6). Kliknij OK. W naszym przyk�adzie nazwanowej klasy to GuitarLoop. Jest ona cz��ci�istniej�cej klasy Sound, a wi�c dziedziczy wszystkiew�asno�ci i metody klasy Sound. Nazwa nowejklasy b�dzie wykorzystywana przy tworzeniunowych egzemplarzy tego konkretnego d�wi�kuw ActionScript. Upewnij si�, �e nazwa klasy niezawiera kropek.

Aby odtworzy� dwi�k z biblioteki:

1. Kontynuuj prac� nad plikiem z poprzedniegowiczenia. Zaznacz pierwsz� klatk� na g�ównejlistwie czasowej i otwórz panel Operacje.

2. W pierwszej linii utwórz nowy egzemplarzswojego symbolu d�wi�kowego, pos�uguj�csi� nazw� klasy, któr� dla niego utworzy�e�:

var mySound:GuitarLoop = new�GuitarLoop();

Zostaje utworzony nowy egzemplarz obiektuSound, zawieraj�cy wybrany d�wi�kz biblioteki.

3. Wpisz nazw� nowego egzemplarza Sound,kropk�, a potem metod� play() (rysunek 8.7).

D�wi�k zaczyna by odtwarzany.Po jednokrotnym odtworzeniu d�wi�kuodtwarzanie zostanie wstrzymane.

Wskazówka

� Metoda play()odtwarza egzemplarz d�wi�kuprzy ka�dym wywo�aniu, nawet gdy ten samd�wi�k ju� jest odtwarzany. To oznacza,�e mo�emy mie wiele nak�adaj�cych si�d�wi�ków w tym samym momencie filmu.Aby zapobiec tej sytuacji, u�yj metodystopAll() klasy SoundMixer, zanim zarz�dziszpowtórne odtworzenie d�wi�ku. Ta technikagwarantuje, �e d�wi�k ucichnie, zanim zacznieby odtwarzany od pocz�tku.

Rysunek 8.6. Kliknij OK, by zamkn�� to okienkoze zb�dnym ostrze�eniem. Informuje Ci� ono,�e zostanie utworzona nowa klasa

Rysunek 8.7. Zostaje utworzony nowy egzemplarzklasy GuitarLoop, o nazwie mySound („mójdwi�k”). Egzemplarz ten mie�ci w sobie dwi�kz biblioteki filmu. Nast�pnie metoda play() zostajeu�yta do odtworzenia tego dwi�ku

Odt

war

zani

e d

wi�

ków

z b

iblio

teki

Page 10: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

319

Wczytywanie i odtwarzaniezewn�trznych dwi�kówZa ka�dym razem, gdy importujesz d�wi�kdo biblioteki filmu, zwi�ksza si� rozmiarwynikowego pliku SWF. D�wi�ki mog� zajmowabardzo du�o miejsca, nawet w przypadkustosowania kompresji MP3, wi�c warto zastanowisi� nad przechowywaniem ich osobno. Najpro�ciejmo�na to zrobi, umieszczaj�c ka�dy d�wi�kw zewn�trznym pliku. Metoda load() wczytujedo filmu pliki MP3 (pozosta�e formaty nie s�dost�pne). Takie podej�cie umo�liwia podmian�pliku d�wi�kowego bez potrzeby edycjidokumentu Flasha. Wyobra� sobie, �e podk�admuzyczny filmu zapisa�e� w pliku audio1.mp3.Aby zmieni muzyk� na inn�, wystarczy zast�piplik audio1.mp3 innym plikiem, nadaj�c mu t�sam� nazw�; Flash zacznie odtwarza nowy d�wi�k.

Metoda load() wymaga podania tylko jednegoparametru. Jest nim obiekt URLRequest, któryzawiera �cie�k� dost�pu do pliku MP3.

Aby za�adowa� i odtworzy�zewn�trzny dwi�k:

1. Zadeklaruj i zainicjalizuj obiekt URLRequestza pomoc� funkcji konstruktora newURLRequest(). Jako parametr wpisz �cie�k�do pliku MP3, którego chcesz u�y(rysunek 8.8).

Rysunek 8.8. Obiekt URLRequest definiuje �cie�k�adresow� pliku, który chcesz za�adowa�. W tym przypadkujest to plik dwi�kowy music.mp3, umieszczony w tym samymkatalogu, w którym znajduje si� film Flasha

Wczytyw

anie i odtwarzanie dw

i�ków

Page 11: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

320

�cie�ka dost�pu jest podawana w formie ci�guznaków, musisz wi�c uj� j� w cudzys�ów.Mo�esz za�adowa plik MP3 z w�asnegodysku lub z internetu, u�ywaj�c adresubezwzgl�dnego. Je�li plik MP3 znajduje si�w tym samym katalogu, w którym jest filmFlasha, wystarczy poda jego nazw�.

2. Zadeklaruj i zainicjalizuj obiekt Soundza pomoc� funkcji konstruktora new Sound()(rysunek 8.9).

3. W kolejnej linii wpisz nazw� obiektu Sound,kropk�, a potem metod� load(). U�yj obiektuURLRequest jako parametru tej metody.

4. W kolejnej linii wpisz nazw� swojego obiektuSound, kropk� i metod� play(). Mo�esz u�ydodatkowych parametrów (nie jestto obowi�zkowe), by okre�li pocz�tekodtwarzania lub liczb� powtórze�(rysunek 8.10).

Gdy tylko film Flasha zostanie uruchomiony,wczyta plik MP3 i odtworzy go.

5. Zapisz plik Flasha w tym samym katalogu,w którym znajduje si� plik MP3. Przetestuj film.

Zaraz po rozpocz�ciu odtwarzania filmu Flashodszukuje zewn�trzny plik MP3 za pomoc�obiektu URLRequest, �aduje go i odtwarzarównolegle z filmem.

Rysunek 8.9. W drugiej linii kodu tworzymy obiekt klasySound o nazwie mySound

Rysunek 8.10. Metoda load() pobiera plik dwi�kowyz miejsca wskazanego przez obiekt URLRequest, a metodaplay() go odtwarza

Wcz

ytyw

anie

i od

twar

zani

e d

wi�

ków

Page 12: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

321

Sterowanieodtwarzaniem dwi�kówMetoda play() obiektu Sound przyjmuje trzyopcjonalne parametry. Pierwszy z nichto parametr przesuni�cia w czasie. Jest to liczbaoznaczaj�ca, ile milisekund nagrania, licz�cod pocz�tku trwania d�wi�ku, zostaniepomini�tych. Odtwarzanie d�wi�ku mo�narozpocz� od samego pocz�tku lub od dowolnegopó�niejszego punktu. Gdy d�wi�k trwa 20 sekund,nic nie stoi na przeszkodzie, by rozpocz�odtwarzanie od jego �rodka, czyli od 10.sekundy; wystarczy u�y metody play(10000).Nie jest to opó�nienie rozpocz�cia odtwarzaniao 10 sekund, ale natychmiastowe odtworzenieod 10. sekundy.

Drugi parametr okre�la liczb� odtworze�d�wi�ku. Przekazanie warto�ci 2 spowodujeodtworzenie d�wi�ku dwukrotnie bez �adnychprzerw mi�dzy kolejnymi uruchomieniami.Wielokrotne powtarzanie (zap�tlenie) jest zwyklestosowane dla d�wi�ków tak przygotowanych,by ich koniec pasowa� do pocz�tku,tak �e moment przeskoku pomi�dzy ko�cema pocz�tkiem nagrania jest niezauwa�alny.

Trzecim parametrem metody play() jest obiektSoundTransform. Zapewnia on kontrol� nadogóln� g�o�no�ci� d�wi�ku oraz nad balansemg�o�no�ci pomi�dzy lewym a prawym g�o�nikiem.Obiekt SoundTransform zostanie dok�adniejopisany w dalszej cz��ci rozdzia�u.

Je�li w momencie wywo�ywania metody play()nie przeka�e si� �adnych parametrów, Flashodtworzy d�wi�k jednokrotnie od samegopocz�tku.

Aby odtworzy� dwi�kod wybranego punktu:

� U�yj dla metody play() obiektu Soundpierwszego z jej parametrów, podaj�cwarto� wyra�on� w milisekundach.

D�wi�k b�dzie odtwarzany od tegopunktu w czasie (licz�c w milisekundach;rysunek 8.11).

Aby ustali� liczb� powtórze�:

� U�yj dla metody play() obiektu Sounddrugiego z jej parametrów, podaj�c liczb�powtórze�.

D�wi�k b�dzie odtwarzany tyle razy, ile sobieza�yczy�e� (rysunek 8.12).

Wskazówki

� Niestety, nie istnieje sposób, by poinformowametod� play() o ch�ci niesko�czonegozap�tlenia d�wi�ku. W takiej sytuacji jakowarto� parametru zap�tlenia mo�eszprzekaza bardzo du�� warto�, na przyk�ad99999.

Rysunek 8.11. W tym przyk�adzie dla metody play() u�ytoparametru o warto�ci 14000, co oznacza odtwarzanie dwi�kuod 14. sekundy

Rysunek 8.12. W tym przyk�adzie dla metody play()pierwszy parametr ustawiono na warto�� 0, a drugi na 3,co oznacza trzykrotne odtworzenie dwi�ku od samego pocz�tku

Sterowanie odtw

arzaniem dw

i�ków

Page 13: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

322

Wstrzymywanie odtwarzania dwi�ku

Odtwarzanie d�wi�ku mo�na wstrzyma, stosuj�cmetod� klasy SoundChannel. Gdy wywo�ujemymetod� play() klasy Sound, tworzony jestegzemplarz obiektu SoundChannel. Dla ka�degoodtwarzanego d�wi�ku jest jeden egzemplarzSoundChannel.

Aby przypisa egzemplarz SoundChanneldo zmiennej i móc odnosi si� pó�niej do niegow ActionScript, u�yj nast�puj�cej instrukcji:

myChannel:SoundChannel=�mySound.play();

W tym przyk�adzie odtwarzany jest d�wi�kdo��czony do obiektu zwanego mySound. Zwróconyobiekt SoundChannel jest umieszczany w zmiennejo nazwie myChannel. Mo�esz teraz wstrzymaodtwarzanie d�wi�ku, stosuj�c metod� stop()obiektu klasy SoundChannel:

myChannel.stop();

Aby zatrzyma� odtwarzanie dwi�ku:

1. Kontynuuj prac� nad plikiem z wiczenia„Aby za�adowa i odtworzy zewn�trznyd�wi�k”.

2. Utwórz nowy symbol przycisku, umie� jegoegzemplarz na scenie i nadaj mu nazw�w panelu W�a�ciwo�ci (rysunek 8.13).

W naszym przyk�adzie u�yjemy funkcjiobs�uguj�cej zdarzenie klikni�cia tegoprzycisku, by wstrzyma odtwarzanie d�wi�ku.

3. Zaznacz pierwsz� klatk� g�ównej listwyczasowej i otwórz panel Operacje.

4. Zast�p polecenie zawieraj�ce metod� play()nast�puj�c� instrukcj�:

var myChannel:SoundChannel�=my.Sound.play()

To polecenie odtwarza d�wi�k i umieszczaobiekt SoundChannel, zwrócony przez metod�play(), w nowej zmiennej (typu SoundChannel)o nazwie myChannel (rysunek 8.14).

Rysunek 8.13. Ten egzemplarz przyciskuna scenie otrzyma� nazw� stopbutton_btn

Rysunek 8.14. Gdy wywo�ywana jest metodaplay() obiektu Sound, zwraca ona obiektSoundChannel. Obiekt ten jest przypisywanydo zmiennej myChannel

Ster

owan

ie o

dtw

arza

niem

dw

i�kó

w

Page 14: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

323

Rysunek 8.15. Funkcja obs�uguj�ca zdarzenieklikni�cia przycisku stopbutton_btn na scenie.Metoda stop(), która zatrzymuje odtwarzaniedwi�ku, jest wywo�ywana dla obiektuSoundChannel, zwanego myChannel

Rysunek 8.16. Drugi egzemplarz przyciskuna scenie otrzymuje nazw� resumebutton_btn

5. Utwórz funkcj� typu event handler,wykrywaj�c� klikni�cie przycisku na scenie.

6. Wewn�trz nawiasów klamrowych funkcjiwpisz nazw� obiektu SoundChannel, kropk�i metod� stop(), tak jak w poni�szymprzyk�adzie (rysunek 8.15).

myChannel.stop();

7. Przetestuj film.

Zewn�trzny d�wi�k zaczyna by odtwarzanypo uruchomieniu filmu. Klikni�cie przyciskuspowoduje zako�czenie odtwarzania.

Wskazówka

� Mo�esz równie� u�y metody stopAll() klasySoundMixer. To spowoduje zatrzymanieodtwarzania wszystkich d�wi�ków. U�yjna przyk�ad polecenia SoundMixer.stopAll().

Wznawianie dwi�ków

Mo�esz dowiedzie si�, jaka cz�� d�wi�ku zosta�aju� odtworzona, korzystaj�c z w�asno�ci positionobiektu SoundChannel. W�asno� positionzwraca bie��cy czas odtwarzanego nagraniaw milisekundach. Jest to bardzo przydatne,gdy chcesz zapami�ta moment, w którymodtwarzanie d�wi�ku zosta�o przerwane, a potemwznowi je od tego samego punktu.

Gdy u�ytkownik zatrzymuje odtwarzanie d�wi�ku,mo�esz przechwyci warto� w�asno�ci positionobiektu SoundChannel w tym momencie,przypisuj�c t� warto� do zmiennej. Potem,wznawiaj�c odtwarzanie d�wi�ku, przypiszeszprzechwycon� warto� do pierwszego parametrumetody play()obiektu Sound.

Aby wznowi� odtwarzanie:

1. Kontynuuj�c prac� nad plikiem z poprzedniegowiczenia, umie� na scenie kolejny egzemplarzprzycisku i nadaj mu nazw� w paneluW�a�ciwo�ci (rysunek 8.16).

W tym wiczeniu utworzymy funkcj�obs�uguj�c� zdarzenie klikni�cia tego drugiegoprzycisku, aby umo�liwi wznowienieodtwarzania d�wi�ku od punktu, w którymzosta�o przerwane.

Sterowanie odtw

arzaniem dw

i�ków

Page 15: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

324

2. Zaznacz pierwsz� klatk� g�ównej listwyczasowej i otwórz panel Operacje.

3. Zacznij tworzenie dalszej cz��ci skryptuod zadeklarowania zmiennejdo przechowywania warto�ci ca�kowitych(integer; rysunek 8.17).

Zmienna ta b�dzie przechowywa bie��c�pozycj� odtwarzania.

4. Wró do funkcji event handler, utworzonejdla pierwszego przycisku, przeznaczonegodo zatrzymania odtwarzania. Tu� przed metod�stop() wpisz dodatkowe polecenie, takie jakto poni�ej (rysunek 8.18):

pauseposition=myChannel.position;

Tu� przed zatrzymaniem d�wi�ku bie��capozycja odtwarzania jest przypisywanado zmiennej.

5. Utwórz kolejn� funkcj� typu event handler,reaguj�c� na klikni�cie drugiego przyciskuumieszczonego na scenie.

Zadaniem tej funkcji b�dzie wznowienieodtwarzania d�wi�ku.

6. Pomi�dzy nawiasami klamrowymi funkcjiwpisz nast�puj�ce polecenie (rysunek 8.19):

myChannel:SoundChannel=�mySound.play(pauseposition);

Pozycja odtwarzania zatrzymanego d�wi�kuzostanie u�yta jako pierwszy parametrmetody play(), który decyduje o warto�ciprzesuni�cia. D�wi�k jest odtwarzanyod miejsca, w którym si� zatrzyma�.

7. Przetestuj film.

Zewn�trzny plik d�wi�kowy zaczyna si�odtwarza. Klikni�cie pierwszego przyciskuwstrzymuje odtwarzanie. Klikni�ciedrugiego � wznawia je.

Rysunek 8.17. Pod�wietlone polecenie deklaruje now�zmienn� o nazwie pauseposition, która b�dzieprzechowywa� liczb� ca�kowit�

Rysunek 8.18. Zanim odtwarzanie dwi�ku zostanie przerwane,obecna pozycja odtwarzania (czas, jaki min�� od pocz�tkunagrania, w milisekundach) jest przechwytywana i zapisywanaw zmiennej pauseposition

Rysunek 8.19. Funkcja obs�uguj�ca zdarzenie klikni�cia przyciskuresumebutton_btn, umieszczonego na scenie. Metoda play()wykorzystuje zmienn� pauseposition jako parametr, tak byodtwarzanie by�o wznawiane od momentu, w którym je przerwano

Ster

owan

ie o

dtw

arza

niem

dw

i�kó

w

Page 16: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

325

Modyfikacja nat��eniai balansu dwi�kuFlash oferuje pe�n� kontrol� nad g�o�no�ci�i balansem d�wi�ku (si�� d�wi�ku podawan�do lewego i prawego g�o�nika). Nic wi�c nie stoina przeszkodzie, by da u�ytkownikowimo�liwo� sterowania g�o�no�ci� lub te�stosowa zmiany g�o�no�ci do uzyskania efektówspecjalnych. Mo�esz na przyk�ad zwi�ksza,a potem stopniowo zmniejsza nat��enie rykusilnika, gdy w grze w wy�cigi samochodowewymija gracza inny zawodnik. Sterowaniebalansem mo�na zastosowa w grze Pong,by odg�os uderzenia pi�ki w rakietk� dobiega�z g�o�nika po w�a�ciwej stronie.

Aby zmieni ogóln� g�o�no� oraz balans danegod�wi�ku, musisz wprowadzi trzeci parametrdo metody play() (jak zapewne pami�tasz,pierwszy parametr decyduje o przesuni�ciuodtwarzania, a drugi — o liczbie powtórze�).Trzeci parametr wymaga u�ycia obiektu klasySoundTransform. Najpierw trzeba go wi�cutworzy:

var newVolume:SoundTransform=new�SoundTransform()

Nast�pnie trzeba ustawi odpowiedni�w�asno� tego obiektu � na przyk�ad volume� na w�a�ciw� warto�, a potem u�y obiektuSoundTransform jako trzeciego parametrumetody play(), tak jak w poni�szym przyk�adzie:

newVolume.volume=.5;mySound.play(0,0,newVolume);

Aby zmieni g�o�no� lub balans d�wi�ku, któryju� jest odtwarzany, nale�y przypisa obiektSoundTransform do w�asno�ci soundTransformobiektu SoundChannel. Na przyk�ad tak:

var newVolume:SoundTransform=new�SoundTransform();newVolume.volume=.5;myChannel.soundTransform=newVolume;

Pierwsze z tych polece� tworzy nowy obiektklasy SoundTransform o nazwie newVolume(„nowa g�o�no�”). Nast�pnie w�asno� volumetego obiektu zostaje odpowiednio zmieniona.Na koniec obiekt SoundTransform zostajeprzypisany do w�asno�ci soundTransformobiektu SoundChannel, zwi�zanego z d�wi�kiem,który jest aktualnie odtwarzany.

Klasa SoundTransform jest wyposa�ona wew�asno�ci, takie jak volume (g�o�no�), pan (balans)oraz jeszcze kilka, s�u��cych do precyzyjnegomanipulowania prawym i lewym kana�em.Ich opis znajdziesz w tabeli 8.1.

Modyfikacja nat��enia i balansu dw

i�kuTabela 8.1. W�a�ciwo�ci obiektu SoundTransform

Parametr Warto��

volume Warto� liczbowa; 0 oznacza zupe�ne wyciszenie, 1 to pe�na g�o�no�pan Warto� liczbowa oznaczaj�ca balans g�o�ników; �1 to maksymalne przesuni�cie w lewo,

1 to maksymalne przesuni�cie w prawoleftToLeft Warto� liczbowa (od 0 do 1) okre�laj�ca, ile lewego kana�u zostanie odtworzone w lewym g�o�nikuleftToRight Warto� liczbowa (od 0 do 1) okre�laj�ca, ile lewego kana�u zostanie odtworzone w prawym g�o�nikurightToLeft Warto� liczbowa (od 0 do 1) okre�laj�ca, ile prawego kana�u zostanie odtworzone w lewym g�o�nikurightToRight Warto� liczbowa (od 0 do 1) okre�laj�ca, ile prawego kana�u zostanie odtworzone w prawym g�o�niku

Page 17: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

326

Aby ustawi� g�o�no�� dwi�kuprzed jego odtworzeniem:

1. Zadeklaruj i zainicjalizuj obiekt URLRequest,korzystaj�c z konstruktora new URLRequest(),i wpisz w roli parametru �cie�k� do pliku MP3.

2. W nast�pnej linii zadeklaruj i zainicjalizujnowy obiekt Sound, korzystaj�c z konstruktoranew Sound().

3. W kolejnym wierszu wpisz nazw� swojegoobiektu Sound, kropk� i metod� load().W roli parametru u�yj obiektu URLRequest.

Flash �aduje zewn�trzny plik MP3, wskazanyprzez obiekt URLRequest.

4. W kolejnej linii zadeklaruj i zainicjalizuj nowyobiekt SoundTransform, korzystaj�cz konstruktora new SoundTransform().

Obiekt ten jest wyposa�ony we w�asno�ci,których mo�emy u�y do sterowaniag�o�no�ci� i balansem d�wi�ku.

5. W kolejnej linii wpisz nazw� swojegoobiektu SoundTransform, kropk� i w�asno�,której chcesz u�y: volume dla g�o�no�ci,pan dla balansu. Potem wstaw znakrówno�ci i wpisz odpowiedni� warto�(rysunek 8.20).

6. W nast�pnej linii wpisz nazw� obiektuSound, kropk� i metod� play(). Jakoparametry wpisz 0, 5 oraz nazw� obiektuSoundTransform (rysunek 8.21). Przypiszwarto� zwrócon� przez metod� play()do obiektu klasy SoundChannel.

7. Przetestuj film.

Metoda play() odtwarza d�wi�k, korzystaj�cz obiektu SoundTransform do ustaleniapoziomu g�o�no�ci i (lub) balansu.

Rysunek 8.20. W�asno�� g�o�no�ci (volume) tego obiektuSoundTransform zosta�a ustawiona na po�ow� pe�nej g�o�no�ci

Rysunek 8.21. Obiekt SoundTransform o nazwie newSettingzostaje u�yty jako trzeci parametr metody play(). Ten dwi�kb�dzie odtwarzany od pocz�tku, pi�� razy, z g�o�no�ci�zmniejszon� do po�owyM

odyf

ikac

ja n

at��

enia

i ba

lans

u d

wi�

ku

Page 18: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

327

Rysunek 8.22. Egzemplarz przyciskuna scenie otrzyma� nazw� decrease_btn

Aby ustawi� g�o�no�� dwi�kuw trakcie odtwarzania:

1. Utwórz przycisk, umie� jego egzemplarzna scenie i nadaj mu nazw� w paneluW�a�ciwo�ci (rysunek 8.22).

Utworzymy funkcj� typu event handler,obs�uguj�c� klikni�cie tego przycisku.Przycisk umo�liwi zmian� g�o�no�ci d�wi�kuw trakcie odtwarzania.

2. Zaznacz pierwsz� klatk� g�ównej listwyczasowej i otwórz panel Operacje. Zacznijod zadeklarowania i zainicjalizowania obiektuURLRequest za pomoc� konstruktora newURLRequest(). Jako parametr podaj �cie�k�do zewn�trznego pliku MP3.

3. W kolejnej linii zadeklaruj i zainicjalizujobiekt Sound za pomoc� konstruktora newSound().

4. W nast�pnym wierszu wpisz nazw� obiektuSound, kropk� i metod� load(). Wpiszw nawiasach nazw� obiektu URLRequestjako parametr tej metody.

Flash za�aduje zewn�trzny plik MP3, któregoadres jest zawarty w obiekcie URLRequest.

5. W kolejnej linii zadeklaruj i zainicjalizuj obiektSoundTransform za pomoc� konstruktora newSoundTransform().

Obiekt ten wyposa�ony jest we w�asno�ci,których mo�emy u�y do sterowania g�o�no�ci�i balansem d�wi�ku. W tym przyk�adzieegzemplarz obiektu SoundTransform otrzyma�nazw� newSetting („nowe ustawienia”).

Modyfikacja nat��enia i balansu dw

i�ku

Page 19: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

328

6. W kolejnej linii wpisz nast�puj�ce polecenie:

var myChannel:SoundChannel�=mySound.play();

To polecenie odtwarza d�wi�k i umieszczazwrócony przez metod� play() obiekt klasySoundChannel w nowej zmiennej, tu o nazwiemyChannel (rysunek 8.23).

7. W nast�pnej linii utwórz funkcj� obs�uguj�c�zdarzenie (event handler), która b�dziewykrywa klikni�cie przycisku na scenie.W nawiasach klamrowych funkcji umie�polecenie:

newSetting.volume-=0.1;

To oznacza, �e przy ka�dym klikni�ciuprzycisku warto� przypisana w�asno�ci volumeobiektu SoundTransform zmniejszy si� o 0,1.

8. W kolejnej linii, lecz wci�� w ramachfunkcji event handler, dodaj polecenie:

myChannel.soundTransform=newSetting;

To polecenie przypisuje obiektSoundTransform o nazwie newSettingdo w�asno�ci soundTransform odtwarzanegod�wi�ku, tak by zmniejszenie g�o�no�cidosz�o do skutku (rysunek 8.24).

9. Przetestuj film.

Zewn�trzny plik MP3 �aduje si� i odtwarza.Przy ka�dym klikni�ciu przycisku w�asno�volume obiektu SoundTransform o nazwienewSetting zmniejsza si� o 0,1. Nast�pniezmodyfikowany obiekt newSetting jestprzypisywany do w�asno�ci soundTransformodtwarzanego d�wi�ku, co powodujeobni�enie jego g�o�no�ci.

Rysunek 8.23. Odtwarzany jest zewn�trzny plik MP3o nazwie music.mp3

Rysunek 8.24. Funkcja obs�uguj�ca klikni�cie przycisku decrease_btn,umieszczonego na scenie. Ka�de klikni�cie powoduje obni�enie o 0,1warto�ci przypisanej do w�asno�ci volume obiektu klasySoundTransform, zwanego newSetting. Obiekt SoundTransform jestprzypisany do w�asno�ci soundTransform obiektu SoundChannel,by mo�na by�o zmienia� g�o�no�� w trakcie odtwarzania

Mod

yfik

acja

nat

��en

ia i

bala

nsu

dw

i�ku

Page 20: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

329

Rysunek 8.25. W�a�ciwo�ci obiektuSoundTransform, okre�laj�ce rozk�ad dwi�kupochodz�cego z lewego i prawego kana�uw poszczególnych g�o�nikach. W�a�ciwo�cite przyjmuj� warto�ci od 0 do 1

Aby zamieni� z sob� kana�y dwi�ku:

� Przypisz nast�puj�ce warto�ci w�asno�ciomobiektu SoundTransform:

leftToLeft=0;leftToRight=1;rightToRight=0;rightToLeft=1;

Gdy dokonasz takiej zmiany w�asno�ci obiektuSoundTransform i przypiszesz ten obiektdo w�asno�ci soundTransform obiektuSoundChannel lub u�yjesz go w roli trzeciegoparametru metody play(), kana�y lewy i prawyzostan� zamienione: kana� prawy b�dzieodtwarzany z lewego g�o�nika, a lewy— z prawego (rysunek 8.25).

Wskazówka

� Aby skróci skrypt, mo�esz ustawi w�asno�ciobiektu SoundTransform ju� w chwili jegozainicjalizowania. Na przyk�ad polecenie varmyNewSettings:SoundTransform=newSoundTransform(.5,1) stanowi odpowiedniknast�puj�cej sekwencji polece�:

var myNewSettings:SoundTransform=new�SoundTransform();myNewSettings.volume=.5;myNewSettings.pan=1;

Modyfikacja nat��enia i balansu dw

i�ku

Page 21: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

330

Wykrywanie zdarze� dwi�kuMo�na wykry moment zako�czenia odtwarzaniad�wi�ku, u�ywaj�c zdarzeniaEvent.SOUND_COMPLETE klasy SoundChannel.Przyjrzyj si� nast�puj�cemu skryptowi:

myChannel.addEventListener�(Event.SOUND_COMPLETE, finished);function finished(myevent:Event):void { //koniec odtwarzania}

W tym przyk�adzie, gdy d�wi�k zwi�zanyz obiektem SoundChannel zostanie ju� w ca�o�ciodtworzony, wywo�ana zostanie funkcja o nazwiefinished („sko�czone”) i wykonane zostan�wszystkie polecenia, jakie w tej funkcji umie�cisz.

Zdarzenie Event.SOUND_COMPLETE umo�liwiasterowanie d�wi�kiem i jego integracj� na wieleró�nych sposobów. Wystarczy wyobrazi sobieszaf� graj�c�, losowo wybieraj�c� piosenki z bankualbumów. Gdy zako�czy si� jedna piosenka,Flash wie, �e nadszed� czas na rozpocz�ciekolejnej. Inny przyk�ad to prezentacja biznesowa,która przechodzi do kolejnego slajdu dopieropo zako�czeniu narracji. W poni�szym wiczeniuwykorzystamy zdarzenie ko�ca odtwarzaniado ustalenia momentu, w którym Flash powinienza�adowa i odtworzy kolejny plik.

Aby wykry� zako�czenie odtwarzania dwi�ku:

1. Zadeklaruj i zainicjalizuj obiekt URLRequestza pomoc� funkcji konstruktora newURLRequest() i wpisz jako parametr adreszewn�trznego pliku MP3.

2. W kolejnej linii zadeklaruj i zainicjalizujobiekt Sound za pomoc� funkcji konstruktoranew Sound().

3. W kolejnej linii wpisz nazw� obiektu Sound,kropk� i metod� load(). Jako parametr tejmetody podaj obiekt URLRequest.

Wyk

ryw

anie

zda

rze�

dw

i�ku

Page 22: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

331

4. W nowej linii wpisz nazw� obiektu Sound,kropk� i metod� play() bez parametrów.Przypisz zwrócon� warto� do nowegoobiektu SoundChannel (rysunek 8.26).

5. W kolejnej linii utwórz odbiornik zdarze�w obiekcie SoundChannel, nastawionyna wykrycie zdarzenia Event.�SOUND_COMPLETE (rysunek 8.27).

6. Utwórz funkcj� uruchamian� przezzdarzenie Event.SOUND_COMPLETE(rysunek 8.28).

Gdy odtwarzanie d�wi�ku si� zako�czy,funkcja zostanie wywo�ana. W tym przypadkudzia�anie funkcji polega na utworzeniu nowegoobiektu Sound, który za�aduje i odtworzy innyd�wi�k.

Wskazówka

� Je�li d�wi�k jest zap�tlony (powtarzanywielokrotnie), zdarzenie Event.S�OUND_COMPLETE zostanie zg�oszonepo ostatniej p�tli.

Rysunek 8.26. Odtwarzany jest zewn�trzny plik MP3o nazwie music1.mp3

Rysunek 8.27. Odbiornik zdarze� wykrywa zako�czenie�adowania i wywo�uje (tu jeszcze niezdefiniowan�) funkcj�o nazwie finished

Rysunek 8.28. Funkcja o nazwie finished rozpoczyna odtwarzaniedrugiego pliku dwi�kowego

Wykryw

anie zdarze� dwi�ku

Page 23: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

332

Wykorzystanie znacznikówinformacyjnych plików MP3Pliki MP3 to obecnie najpopularniejszy formatcyfrowy przechowywania muzyki. KompresjaMP3 pozwala znacz�co zmniejszy rozmiar plikuprzy jednoczesnym zachowaniu bardzo wysokiejjako�ci, niemal takiej jak przy odtwarzaniu p�ytkompaktowych. Dodatkow� zalet� plików MP3jest mo�liwo� „zaszycia” w ich wn�trzudodatkowych informacji na temat muzyki— metadanych. Pierwsza wersja metadanych(tak zwanych znaczników ID3) by�a umieszczanana ko�cu pliku MP3. Zawiera�a takie informacje,jak autor, tytu� piosenki, nazwa albumu,rok wydania, komentarz i gatunek muzyczny.Informacje znajduj�ce si� na ko�cu pliku by�yodczytywane przez wi�kszo� odtwarzaczy MP3.

Po pewnym czasie powsta�a obowi�zuj�ca obecniedruga wersja ID3. Jedn� z jej g�ównych cech jestprzeniesienie informacji na pocz�tek pliku MP3,by usprawni obs�ug� strumieniowania. Dodatkowopojawi�o si� wiele nowych pól, mi�dzy innymiinformacja na temat kompozytora, dyrygenta, typmedium, informacja o prawach autorskich i datanagrania.

Flash potrafi odczytywa znaczniki ID3v2 plikówMP3. Ka�dy element informacji (nazywanyznacznikiem) odpowiada konkretnej w�a�ciwo�ciobiektu id3, b�d�cego cz��ci� obiektu Sound.Przyk�adowo, mySound_sound.id3.TALB zawieranazw� albumu. Tabela 8.2 wymienia wszystkieznaczniki obs�ugiwane przez Flashaza po�rednictwem w�asno�ci obiektu Sound.

W jaki sposób pobiera si� znaczniki ID3? Trzebautworzy funkcj� obs�ugi zdarzenia, które jestwywo�ywane, gdy dost�pne s� znaczniki dlad�wi�ku odtwarzanego metod� play(). S�u�ydo tego zdarzenie Event.ID3. Jest to jedyny sposóbna odczytanie tych informacji.

W kolejnym wiczeniu za�adujesz zewn�trznyplik MP3 i wy�wietlisz zawarte w nim informacjew oknie Wyj�cie.

Znac

znik

i inf

orm

acyj

ne p

lików

MP3

Tabela 8.2. Znaczniki ID3v2

W�a�ciwo�� Opis

id3.COMM komentarzid3.TALB tytu� albumu, filmu lub nazwa

przedstawieniaid3.TBPM taktowanieid3.TCOM kompozytorid3.TCOP informacja o prawach autorskichid3.TDAT dataid3.TDLY opó�nienie listy odtwarzaniaid3.TENC autor kodowaniaid3.TEXT autor s�ówid3.TFLT typ plikuid3.TIME czasid3.TIT1 opis grupy zawarto�ciid3.TIT2 tytu� lub nazwa piosenkiid3.TIT3 podtytu�, dok�adniejszy opisid3.TKEY klucz pocz�tkowyid3.TLAN j�zykiid3.TLEN d�ugo�id3.TMED typ mediumid3.TOAL oryginalny album, film lub nazwa

przedstawieniaid3.TOFN oryginalna nazwa plikuid3.TOLY pierwotny autor tekstuid3.TOPE pierwotny wykonawcaid3.TORY pierwotna data wydaniaid3.TOWN w�a�ciciel pliku, licencjaid3.TPE1 g�ówny wykonawca lub solistaid3.TPE2 zespó�, orkiestra, akompaniamentid3.TPE3 dyrygent, re�yser d�wi�kuid3.TPE4 zaaran�owane, zmiksowane lub w inny

sposób zmienione przezid3.TPOS cz�� zbioruid3.TPUB wydawcaid3.TRCK numer �cie�ki lub pozycja w zbiorzeid3.TRDA data nagraniaid3.TRSN nazwa radiowej stacji internetowejid3.TRSO w�a�ciciel radiowej stacji internetowejid3.TSIZ rozmiarid3.TSRC mi�dzynarodowy, standaryzowany kod

nagrania (ISRC)id3.TSSE oprogramowanie lub sprz�t u�yty

do kodowaniaid3.TYER rokid3.WXXX ��cze URL

Page 24: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

333

Aby pobra� informacje na temat pliku MP3:

1. Zadeklaruj i zainicjalizuj obiekt klasyURLRequest, u�ywaj�c konstruktora newURLRequest(). Jako parametr podaj �cie�k�do pliku MP3.

2. Zadeklaruj i zainicjalizuj obiekt klasy Sound,u�ywaj�c konstruktora new Sound().

3. Wpisz nazw� utworzonego obiektu Sound,kropk� i metod� load(). W nawiasie jakoparametr podaj wcze�niej utworzony obiektURLRequest.

Flash �aduje zewn�trzny plik MP3, któregoadres i nazwa zosta�y zdefiniowanew obiekcie URLRequest.

4. W nowym wierszu ponownie wpisz nazw�obiektu Sound oraz kropk�. Wpisz metod�play() bez parametrów (rysunek 8.29).

Metoda play() odtwarza d�wi�k.

5. Dodaj odbiornik zdarze� do obiektu Sound.Nastaw go na wykrywanie zdarzeniaEvent.ID3, tak jak w poni�szym przyk�adzie:

mySound.addEventListener(Event.ID3,�gotmedata);

Gdy Flash otrzyma dane ID3 od za�adowanegopliku MP3, zdarzenie to uruchomi funkcj�o nazwie gotmedata („podaj dane”).

6. Utwórz funkcj� o nazwie gotmedata,wywo�ywan� przez zdarzenie Event.ID3.Pomi�dzy nawiasami klamrowymi funkcjiumie� polecenie trace, przeznaczonedo wy�wietlenia w�asno�ci id3, tak jakw poni�szym przyk�adzie (rysunek 8.30):

function gotmedata(myevent:�Event) : void{trace("title="+mySound.id3.TIT2);}

W tym przyk�adzie polecenie trace wy�wietlainformacj� na temat tytu�u piosenki zapisanejw pliku MP3. Do podanej informacji do��czaobja�nienie o brzmieniu title= („tytu� to...”).

Rysunek 8.29. Odtwarzany jest zewn�trzny plik MP3o nazwie music.mp3

Rysunek 8.30. Zdarzenie Event.ID3 zachodzi,gdy dostarczane s� metadane z pliku MP3. W�asno��id3.TIT2 odnosi si� do tytu�u utworu

Znaczniki informacyjne plików

MP3

Page 25: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

334

7. Dodaj wi�cej polece� trace pomi�dzynawiasami klamrowymi funkcji, tak byodczytana zosta�a ca�a informacja, jakiejpotrzebujesz (rysunek 8.31).

8. Zapisz swój plik FLA w miejscu, z któregob�dzie potrafi� znale� plik MP3, wskazanyprzez obiekt URLRequest1.

Testuj�c film w �rodowisku edycyjnymFlasha, mo�esz odczyta informacjepochodz�ce ze znaczników ID3 w oknieWyj�cie (rysunek 8.32).

Wskazówki

� U�ywaj�c dynamicznych pól tekstowych,mo�na wy�wietli u�ytkownikowi wszystkiepotrzebne informacje, zawartew znacznikach ID3, na scenie (a nie w oknieWyj�cie). Wi�cej informacji na tematdynamicznych pól tekstowych znajdujesi� w rozdziale 10.

� Gdy plik MP3 zawiera znaczniki ID3v1i ID3v2, zdarzenie Event.ID3 zostaniezg�oszone dwa razy.

� Aby zobaczy znaczniki ID3 plików MP3poza Flashem, wykonaj nast�puj�cedzia�ania:

W systemie Windows XP: kliknij prawymprzyciskiem myszy plik MP3. WybierzW�a�ciwo�ci/Podsumowanie/Zaawansowane.

W systemie Mac OS X: w iTunes wybierzz listy nazw� piosenki i naci�nij klawiszeCommand+I.

Rysunek 8.31. Dwie instrukcje trace umo�liwiaj�wy�wietlenie nazwiska wykonawcy i tytu�u piosenkiw oknie Wyj�cie, w trakcie testowania filmu,gdy nast�pi zdarzenie Event.ID3

Rysunek 8.32. Okno Wyj�cie, wy�wietlaneprzy testowaniu filmu

1 Wa�ne tylko w przypadku stosowania wzgl�dnych �cie�ek adresowych; wi�cej informacji na ten temat

znajduje si� w rozdziale 5. — przyp. t�um.

Znac

znik

i inf

orm

acyj

ne p

lików

MP3

Page 26: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

335

Rysunek 8.33. Dwa prostok�tne klipyfilmowe umieszczone na scenie: lewyo nazwie barleft_mc i prawy o nazwiebarright_mc. Punkty zaczepienia tychobiektów s� wyrównane do ich dolnejkraw�dzi

Wizualizacja dwi�kuPrawdopodobnie widywa�e� ju� graficzn�reprezentacj� d�wi�ku w postaci fali lubwznosz�cych si� w gór� ostrych kolców,wygl�daj�cych jak postrz�pione pasmo górskie,albo w postaci wibruj�cych linii i zmieniaj�cychsi�, t�czowych kolorów. Takie efekty mo�nazobaczy zarówno na wygaszaczach, jak i napokazach laserowych typu „�wiat�o i d�wi�k”.Te efekty graficzne s� zawsze zwi�zane z jakim�okre�lonym parametrem d�wi�ku. Wraz zezmian� d�wi�ku zmienia si� równie� obraz,co pozwala uzyska bezpo�redni�, graficzn�reprezentacj� tego, co s�yszymy. Ten typwizualizacji jest dobrym uzupe�nieniemodtwarzanego d�wi�ku, a w razie wyst�pieniaproblemów technicznych stanowi te� u�yteczn�informacj�; dzi�ki niemu dowiadujemy si�,czy w danym czasie jest odtwarzany jaki� d�wi�k.

Wizualizacj� d�wi�ku, mo�e nieco prostsz�od opisanych, mo�esz z powodzeniem wykonasam we Flashu. Klasa SoundChannel wyposa�onajest w dwie w�asno�ci, leftPeak oraz rightPeak,które przechowuj� informacj� na temat g�o�no�cid�wi�ku w lewym i prawym kanale w ka�dej chwiliodtwarzania. Pobieraj�c te dane dostateczniecz�sto, na przyk�ad za pomoc� zdarzeniaEvent.ENTER_FRAME lub obiektu Timer, mo�eszwykona na ich podstawie wizualizacj�. Mo�eszna przyk�ad skalowa pionowe paski odpowiedniodo nat��enia d�wi�ku w ka�dym kanale.

W kolejnym wiczeniu za�adujemy i odtworzymyzewn�trzny plik MP3, a pobrane warto�ciw�asno�ci leftPeak oraz rightPeak przypiszemydo w�asno�ci scaleY dwóch prostok�tnych klipówfilmowych.

Aby wykona� wizualizacj� nat��enia dwi�kuw lewym i prawym kanale:

1. Utwórz klip filmowy z pionowym prostok�tem,umieszczaj�c punkt zaczepienia na dolnejkraw�dzi tego prostok�ta. Umie� na sceniedwa egzemplarze tego klipu. Ka�demu z nichnadaj indywidualn� nazw� w paneluW�a�ciwo�ci (rysunek 8.33).

Te dwa pionowe paski b�d� zmienia sw�wysoko� tak, by odzwierciedla�o to zmianynat��enia d�wi�ku w ka�dym z kana�ów.

Wizualizacja dw

i�ku

Page 27: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

336

2. Jak w poprzednich wiczeniach, w paneluOperacje utwórz obiekt URLRequest za pomoc�konstruktora new URLRequest(), podaj�c jakoparametr �cie�k� adresow� pliku MP3.

3. Zadeklaruj i zainicjalizuj obiekt Soundza pomoc� konstruktora new Sound().

4. Wpisz nazw� obiektu Sound, kropk� i metod�load(). Podaj nazw� obiektu URLRequest jakojej parametr.

Flash �aduje zewn�trzny plik MP3, zgodnieze �cie�k� podan� w obiekcie URLRequest.

5. Wywo�aj metod� play() dla obiektu Soundi przypisz zwrócon� warto� do nowejzmiennej typu SoundChannel:

var myChannel:SoundChannel=�mySound.play();

Flash odtwarza d�wi�k i tworzy powi�zanyz tym d�wi�kiem obiekt SoundChannel(rysunek 8.34).

Rysunek 8.34. Odtwarzany jest zewn�trzny plik MP3, zwanymusic.mp3

Rysunek 8.35. Zdarzenie Event.ENTER_FRAME wywo�ujeregularne skalowanie obu prostok�tnych klipów, odpowiedniodo bie��cych warto�ci w�asno�ci leftPeak i rightPeak obiektuSound

Wiz

ualiz

acja

dw

i�ku

Page 28: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

337

Rysunek 8.36. Dwa prostok�tne klipy zwi�kszaj�i zmniejszaj� sw� wysoko�� w sposóbzsynchronizowany z dwi�kiem

6. Dodaj do sceny odbiornik zdarze� (eventlistener), wykrywaj�cy zdarzenieEvent.ENTER_FRAME:

stage.addEventLIstener�(Event.ENTER_FRAME, everyframe);

Flash wywo�uje funkcj� everyframe („ka�daklatka”) z cz�stotliwo�ci� wyznaczon� przezpr�dko� odtwarzania filmu.

7. Utwórz funkcj� wywo�ywan� w odpowiedzina zdarzenie Event.ENTER_FRAME.

8. W nawiasach klamrowych funkcji umie�polecenia, które zmieni� wygl�d klipówfilmowych, tak jak w poni�szym przyk�adzie(rysunek 8.35):

everyframe(event:Event):void{ barleft_mc.scaleY= �(myChannel.leftPeak); barright_mc.scaleY= �(myChannel.rightPeak);}

Warto�ci liczbowe w�asno�ci leftPeaki rightPeak zmieniaj� si� w zakresie od 0 do 1.Po przypisaniu tych warto�ci do w�asno�ciscaleY klipów filmowych tak samo zmieniasi� teraz wspó�czynnik pionowego skalowaniaprostok�tów.

9. Upewnij si�, �e zewn�trzny plik MP3 znajdujesi� w miejscu, w którym film Flasha mo�e goodnale�, na podstawie informacji zawartejw obiekcie URLRequest. Przetestuj film(Sterowanie/Testuj film; rysunek 8.36).

Wskazówka

� Flash przewiduje tak�e bardziej skomplikowanysposób obrazowania danych d�wi�kowych;s�u�y do tego klasa computeSpectrum() klasySoundMixer. Metoda ta zwraca dane na tematcz�stotliwo�ci fali, uzyskane z pomiaruwysoko�ci tonów (niskie zakresy cz�stotliwo�ciodpowiadaj� niskim tonom, a wysokie� wysokim). Wi�cej informacji na ten tematznajdziesz w pomocy Flasha. Patrz: Help/Programming ActionScript 3.0/Working withSound/Accessing raw sound data.

Wizualizacja dw

i�ku

Page 29: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

338

Tworzenie dynamicznegosterowania dwi�kiemJednym z najcz�stszych zastosowa� klasy Soundi klas z ni� zwi�zanych jest umo�liwienieu�ytkownikom sterowania g�o�no�ci� i balansemodtwarzanych d�wi�ków. Najcz��ciej do zmianyg�o�no�ci u�ywa si� klipu filmowego z mo�liwo�ci�przeci�gania — powstaje suwak, któregopo�o�enie mo�na powi�za z warto�ci� w�asno�civolume w�asno�ci soundTransform obiektuSoundChannel. Ka�da zmiana po�o�enia suwakapoci�ga za sob� wywo�anie metody zmianyg�o�no�ci.

By utworzy suwak zmiany g�o�no�ci, trzebautworzy dwa elementy: symbol ga�ki suwakai symbol prowadnicy dla suwaka (rysunek 8.37).Najpierw utwórz klip filmowy o nazwie groove_mc(„prowadnica”). Aby u�atwi sobie zadanie, ustald�ugo� szczeliny, w której przesuwa si� ga�ka,na 100 pikseli. Punkt zaczepienia ustaw po lewejstronie prostok�ta. Zastosowanie szeroko�ci tegoklipu równej 100 pikseli pozwoli �atwo skorelowapo�o�enie suwaka z warto�ci� w�asno�ci volume.Aby utworzy ga�k� suwaka z mo�liwo�ci�przeci�gania, utwórz klip filmowy o nazwieslider_mc i wywo�aj dla niego metod� startDrag()z ograniczeniem ruchu do obszaru klipu groove_mc.

Aby utworzy� interfejs do sterowaniag�o�no�ci� i balansem dwi�ku:

1. Utwórz klip filmowy z szerokim, lecz bardzoniskim prostok�tem o szeroko�ci 100 pikseli.Punkt zaczepienia umie� po lewej stronieprostok�ta.

2. Umie� egzemplarz klipu na scenie i w paneluW�a�ciwo�ci nadaj mu nazw�volumegroove_mc.

3. Utwórz kolejny klip filmowy dla ga�ki.

4. Umie� klip ga�ki suwaka nad klipemvolumegroove_mc i nadaj mu nazw�volume_mc w panelu W�a�ciwo�ci(rysunek 8.38).

Rysunek 8.37. Sk�adniki suwaków zapewniaj�cychzmian� g�o�no�ci odtwarzania dwi�kóworaz balansu. Na to urz�dzenie sk�adaj� si�dwie ga�ki i dwie szczeliny, wzd�u� którychmo�na je przeci�ga�

Rysunek 8.38. Klip filmowy volume_mc b�dziemo�na przeci�ga� wzd�u� klipu o nazwievolumegroove_mc. Punkt zaczepienia klipuvolumegroove_mc musi znajdowa� si� po lewejstronie

Rysunek 8.39. Klip filmowy balance_mc b�dziemo�na przeci�ga� wzd�u� klipu o nazwiebalancegroove_mc. Punkt zaczepienia klipubalancegroove_mc musi znajdowa� si� po lewejstronie

Dyna

mic

zne

ster

owan

ie d

wi�

kiem

Page 30: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

339

5. Powtórz kroki 2. – 4. tego wiczenia, lecztym razem nazwij szczelin�balancegroove_mc, a ga�k� — balance_mc.

Mamy teraz dwa suwaki, które b�dziemyprzeci�ga; na jednym b�dzie mo�naustawia g�o�no�, a na drugim — balansd�wi�ku (rysunek 8.39).

6. W panelu Operacje utwórz nowy obiektRectangle, którego lewy górny naro�nikjest dopasowany do punktu zaczepieniaklipu volumegroove_mc, szeroko� pasujedo szeroko�ci tego klipu, a wysoko� jestustawiona na 1, tak jak w tym przyk�adzie:

var myvolumebounds:Rectangle=new�Rectangle(volumegroove_mc.x,�volumegroove_mc.y,�volumegroove_mc.width, 1);

Ten prostok�t pos�u�y do ograniczeniaobszaru, w którym dozwolone jestprzeci�ganie ga�ki suwaka.

7. W nast�pnej linii utwórz drugi prostok�t(Rectangle), pasuj�cy do po�o�eniai do szeroko�ci klipu filmowegobalancegroove_mc (rysunek 8.40).

8. W kolejnej linii utwórz odbiornik zdarze�,wykrywaj�cy wci�ni�cie myszy (MouseEvent.�MOUSE_DOWN) nad klipem volume_mc.

Zdarzenie MOUSE_DOWN wywo�a akcj�startDrag dla tej ga�ki suwaka.

9. W kolejnej linii utwórz odbiornik zdarze�,wykrywaj�cy puszczenie myszy (MouseEvent.�MOUSE_UP) nad klipem volume_mc.

Zdarzenie MOUSE_UP wywo�a akcj� stopDragdla tej ga�ki suwaka.

10. Powtórz kroki 8. – 9., tworz�c odbiornikizdarze� MOUSE_DOWN i MOUSE_UP dla klipubalance_mc. Odbiorniki zdarze� MOUSE_UPdla obu klipów, volume_mc i balance_mc, b�d�wywo�ywa t� sam� funkcj� (rysunek 8.41).

Rysunek 8.40. Tworzone s� dwa obiekty Rectangle, których zadaniem b�dzie ograniczy� mo�liwo��przeci�gania ga�ek suwaków. Ka�dy prostok�t jest wyrównany do lewej kraw�dzi szczeliny,ma szeroko�� równ� szczelinie i tylko jeden piksel wysoko�ci

Rysunek 8.41. Metody addEventListener() u�ytedla zdarze� MOUSE_DOWN i MOUSE_UP pos�u��do rozpocz�cia i zako�czenia akcji przeci�gania

Dynamiczne sterow

anie dwi�kiem

Page 31: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

340

11. W kolejnych liniach skryptu utwórz funkcjetypu event handler, które b�d� rozpoczynaprzeci�ganie oraz je ko�czy. Dla ka�dejz wywo�anych metod startDrag() u�yjodpowiedniego obiektu Rectangle jakoparametru, ograniczaj�c obszar przeci�gania(rysunek 8.42).

Skrypt obs�uguj�cy przeci�ganie suwaków jestju� gotowy. W kolejnym wiczeniu b�dziemykontynuowa prac� nad tym plikiemi zajmiemy si� wprowadzeniem d�wi�kuoraz po��czeniem jego g�o�no�ci i balansuz odpowiednimi suwakami.

Aby skorelowa� po�o�enie ga�ek suwakówz g�o�no�ci� i balansem dwi�ku:

1. W panelu Operacje, w kolejnych liniachzainicjalizuj obiekt URLRequest, obiektSound, obiekt SoundChannel oraz obiektSoundTransform (rysunek 8.43).

2. Wywo�aj metod� load() obiektu Sound,u�ywaj�c obiektu URLRequest w roliparametru. Nast�pnie wywo�aj metod�play() obiektu Sound i przypisz zwrócon�warto� do obiektu SoundChannel(rysunek 8.44).

Rysunek 8.42. Funkcje event handler dla akcjiprzeci�gania i upuszczania obu ga�ek suwaków.Dla ka�dej z metod startDrag() u�yto obiektu Rectanglejako parametru, ograniczaj�c mo�liwo�� przeci�ganiado kierunku poziomego na szeroko�� szczeliny

Rysunek 8.43. Ta cz��� skryptu tworzy obiektypotrzebne do za�adowania dwi�ku i kontrolowania go

Rysunek 8.44.Kolejna cz��� skryptuodtwarza dwi�k

Dyna

mic

zne

ster

owan

ie d

wi�

kiem

Page 32: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Sterowanie d�wi�kiem

341

3. W kolejnej linii utwórz odbiornik zdarze�,wykrywaj�cy zdarzenie Event.ENTER_FRAME.

4. W kolejnej linii utwórz funkcj�, uruchamian�zdarzeniem Event.ENTER_FRAME.

Ta funkcja b�dzie wywo�ywana nieustannie,w ka�dej klatce filmu, wykorzystamy j�wi�c do utworzenia po��czenia mi�dzyga�kami suwaków a g�o�no�ci� i balansemodtwarzanego d�wi�ku.

5. Pomi�dzy nawiasami klamrowymi funkcjiumie� nast�puj�ce polecenie:

var newvolume:Number =�(volume_mc.x-volumegroove_mc.x)/100;

Wspó�rz�dna pozioma po�o�enia klipuszczeliny zostaje odj�ta od wspó�rz�dnejpoziomej aktualnego po�o�enia ga�kisuwaka g�o�no�ci (volume_mc), co oznacza,�e uzyskamy liczb� z zakresu od 0 do 100.Dziel�c rezultat tego odejmowania przez100, otrzymujemy warto� z zakresu0 do 1, któr� b�dziemy mogli przypisaw�asno�ci volume odtwarzanego d�wi�ku.Uzyskana warto� jest przechowywanaw zmiennej o nazwie newvolume („nowag�o�no�”).

6. W nast�pnej linii, nadal w nawiasachklamrowych funkcji, dodaj kolejne polecenie:

var newbalance:Number =�((balance_mc.x-�balancegroove_mc.x)/50)-1;

Wspó�rz�dna pozioma po�o�enia klipuszczeliny zostaje odj�ta od wspó�rz�dnejpoziomej aktualnego po�o�enia ga�ki suwakabalansu (balance_mc), co oznacza, �e uzyskamyliczb� z zakresu od 0 do 100. Dziel�c rezultattego odejmowania przez 50, uzyskujemyzakres warto�ci od 0 do 2, a odejmuj�cod tego 1, uzyskamy zakres od �1 do 1. Jestto odpowiedni zakres warto�ci dla w�asno�cipan d�wi�ku. Rezultat oblicze� jestprzechowywany w zmiennej o nazwienewbalance („nowy balans”).

7. Nadal w ramach funkcji przypisz nowewarto�ci w�asno�ciom volume i pan obiektuSoundTransform (w tym przyk�adzie jest toobiekt o nazwie newSetting, czyli „noweustawienia”). Na koniec przypisz obiektSoundTransform do w�asno�ci soundTransformbie��cego d�wi�ku (czyli obiektu SoundChannel,w tym przyk�adzie nosz�cego nazw� myChannel;rysunek 8.45).

newSetting.volume=newvolume;newSetting.pan=newbalance;myChannel.soundTransform=newSetting;

Rysunek 8.45. W tej cz��ci skryptu dokonywane jest po��czeniepo�o�e� suwaków z odpowiednimi w�asno�ciami dwi�ku. W ramachfunkcji wywo�ywanej przez zdarzenie Event.ENTER_FRAMEdokonywane s� pewne obliczenia, s�u��ce do uzyskania w�a�ciwegozakresu warto�ci: od 0 do 1 dla w�asno�ci volume i od �1 do 1 dlaw�asno�ci pan. Potem te warto�ci s� przypisywane do w�asno�ci obiektuSoundTransform, a obiekt SoundTransform jest przypisywanydo w�asno�ci soundTransform obiektu SoundChannel

Dynamiczne sterow

anie dwi�kiem

Page 33: Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Rozdzia� 8.

342

8. Upewnij si�, �e Twój zewn�trzny plik MP3znajduje si� w miejscu, gdzie Flash mo�e goodnale�, pos�uguj�c si� informacj� zawart�w obiekcie URLRequest. Przetestuj film(Sterowanie/Testuj film).

Flash �aduje i odtwarza d�wi�k. Mo�eszpoci�gn� za suwak g�o�no�ci lub suwakbalansu podczas odtwarzania d�wi�ku,a natychmiast us�yszysz ró�nic�(rysunek 8.46).

Rysunek 8.46. Gotowy skrypt (po lewej) pozwala dynamicznie sterowa� g�o�no�ci� i balansemodtwarzanego dwi�ku za po�rednictwem pary suwaków (po prawej)

Dyna

mic

zne

ster

owan

ie d

wi�

kiem