SlideShare a Scribd company logo
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 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
Wydawnictwo Helion              • Tworzenie funkcji
ul. Koœciuszki 1c               • Obs³uga zdarzeñ w animacji
44-100 Gliwice                  • Zarz¹dzanie listwami czasowymi
tel. 032 230 98 63              • Tworzenie elementów nawigacyjnych
e-mail: helion@helion.pl        • 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!
Spis tre ci
Spis tre ci

              WstÚp                                                                                                                       9

Czö è I       Zaawansowane animacje                                                                                                      13
Rozdziaä 1.   Tworzenie zïo onych projektów                                                                                              15
              Automatyczna animacja ruchu ................................................................................ 16
              Automatyczna animacja ksztaïtu ............................................................................. 28
              Efekty specjalne ...................................................................................................... 33
              Animowane i zïo one maski .................................................................................... 38

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




                                                                                                                                                Spis tre ci
              Rotoskopia ............................................................................................................... 65

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

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


                                                                                                                                           5
Spis tre ci

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

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

              Rozdziaä 6.   ZarzÈdzanie komunikacjÈ zewnÚtrznÈ                                                                                    163
                            Komunikowanie siÚ przez przeglÈdarkÚ internetowÈ ......................................... 164
                            ’adowanie zewnÚtrznych filmów Flasha ............................................................. 180
                            Kontrolowanie zaïadowanych filmów Flasha ...................................................... 185
                            ’adowanie zewnÚtrznych obrazów ...................................................................... 190
Spis tre ci




                            Komunikacja z zewnÚtrznym wideo .................................................................... 193
                            Stosowanie projektorów i akcji fscommand ......................................................... 200
                            Komunikowanie siÚ z drukarkÈ ............................................................................ 203
                            Wykrywanie pobierania danych z sieci — wska niki postÚpu ïadowania ......... 212

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


              6
Spis tre ci

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

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

Czö è IV       Przetwarzanie informacji                                                                                                 343
Rozdziaä 9.    Sterowanie przepïywem informacji                                                                                           345
               Zmienne i wyra enia ............................................................................................. 346
               Wczytywanie zewnÚtrznych zmiennych .............................................................. 350




                                                                                                                                                   Spis tre ci
               Przechowywanie i wspóïdzielenie informacji ...................................................... 359
               Modyfikacja zmiennych ........................................................................................ 365
               Dynamiczne generowanie nazw zmiennych za pomocÈ wyra eñ ...................... 367
               Testowanie informacji za pomocÈ instrukcji warunkowych ................................. 369
               Alternatywa dla instrukcji warunkowej ................................................................ 374
               RozgaïÚzione instrukcje warunkowe .................................................................... 376
               ’Èczenie warunków z operatorami logicznymi ................................................... 380
               PÚtle ....................................................................................................................... 382

Rozdziaä 10.   Tekst                                                                                                                     387
               Wej ciowe pole tekstowe ...................................................................................... 388
               Dynamiczne pole tekstowe ................................................................................... 390
               Opcje pól tekstowych ............................................................................................ 392
               Wy wietlanie tekstu w formacie HTML .............................................................. 395
               Wïa ciwo ci klasy TextField ................................................................................. 400
               Dynamiczne generowanie pól tekstowych .......................................................... 410
               Edycja tekstu w polach tekstowych ..................................................................... 412
               Formatowanie pól tekstowych z wykorzystaniem zewnÚtrznych
                arkuszy stylów ..................................................................................................... 422
               Wykrywanie aktywnego pola tekstowego ............................................................ 426
               Uaktywnianie pól tekstowych i zaznaczanie tekstu w polach tekstowych ......... 429
               Analiza tekstu ......................................................................................................... 431
               Aran acja tekstów .................................................................................................. 441




                                                                                                                                              7
Spis tre ci


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

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




              Dodatek A      Klawisze i odpowiadajÈce im kody                                                                                       509

                             Skorowidz                                                                                                                511




              8
Sterowanie d wiÚkiem
Rozdziaá 8. Sterowanie d wi kiem
                                                                                        8
Wprowadzenie d wiÚku do filmu Flasha wzbogaca dowolnÈ animacjÚ lub nawet najprostszy
projekt interaktywny, poniewa anga uje siÚ wiÚcej zmysïów u ytkownika. Muzyka
odtwarzana w tle wprowadza w odpowiedni nastrój, narracja uïatwia opowiedzenie
historyjki, a d wiÚki odtwarzanie na przykïad po klikniÚciu przycisku lub przy przeciÈganiu
obiektów po scenie dostarczajÈ dodatkowych informacji. Flash obsïuguje kilka formatów
zapisu d wiÚku, przede wszystkim formaty WAV, AIF i MP3. PozwalajÈ one korzystaÊ
z bardzo szerokiego spektrum d wiÚków. Dodatkowo Flash potrafi dynamicznie ïadowaÊ
zewnÚtrzne pliki MP3 w trakcie odtwarzania filmu, co pozwala bez trudu tworzyÊ filmy
zawierajÈ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 przy
u yciu klasy Sound odtwarzaÊ d wiÚki z biblioteki bez potrzeby umieszczania ich
w klatkach kluczowych. Nauczysz siÚ obsïugiwaÊ d wiÚki znajdujÈce siÚ w zewnÚtrznych
plikach, 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ïania
u ytkownika lub animacjÚ. Dowiesz siÚ równie , w jaki sposób wykorzystaÊ wïa ciwo ci
i zdarzenia klasy Sound, by zapewniÊ synchronizacjÚ d wiÚku z animacjÈ lub z innymi
d wiÚkami.




                                                                                               Sterowanie d wiÚkiem
Wszystkie te narzÚdzia sïu È do tego, by zapewniÊ elastyczny i skuteczny system integracji
d 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 wykonaÊ
pokaz slajdów zsynchronizowany z muzykÈ, a nawet wïasny odtwarzacz plików MP3.




                                                                                         315
Rozdziaï 8.


                        Wprowadzanie d wiÚków
                        Jest kilka sposobów doïÈczania d wiÚków do filmu
                        Flasha. Najprostszym z nich jest zaimportowanie
                        d wiÚku i rÚczne umieszczenie go w klatce
                        kluczowej. Na listwie czasowej wy wietlana jest       Rysunek 8.1. Umieszczenie d wiÚku w klatce
                        wtedy graficzna reprezentacja fali d wiÚkowej,        kluczowej na listwie czasowej to najprostszy
                        która pomaga siÚ nam zorientowaÊ, kiedy d wiÚk        sposób doïÈczenia d wiÚku do filmu,
                        zaczyna byÊ odtwarzany, a kiedy siÚ koñczy            niewymagajÈcy u ycia ActionScript
                        (rysunek 8.1). Drugi sposób to zaimportowaÊ
                        d wiÚk i odtworzyÊ go dynamicznie w trakcie
                        trwania filmu. Dopóki nie zarzÈdzisz odtworzenia
                        takiego d wiÚku za pomocÈ ActionScript, pozostaje
                        on w bibliotece (rysunek 8.2). Trzeci sposób
                        polega na dynamicznym zaïadowaniu i odtworzeniu
                        d wiÚku zapisanego w pliku zewnÚtrznym
                        (rysunek 8.3). Ten rozdziaï jest po wiÚcony
                        drugiej i trzeciej z wymienionych metod.
                        OdtwarzajÈc d wiÚk dynamicznie, mo emy
                        sterowaÊ momentem jego pojawienia siÚ
                        i gïo no ciÈ (tak e oddzielnie dla lewego i prawego
                        gïo nika) oraz pobieraÊ informacje na temat
                        postÚpu ïadowania lub postÚpu odtwarzania
                        plików d wiÚkowych.
                        Ka dy d wiÚk odtwarzany z poziomu ActionScript
                        wymaga utworzenia dla niego egzemplarza klasy
                        Sound. MajÈc taki egzemplarz, mo emy
                        zastosowaÊ dla niego metodÚ play(), by odtworzyÊ
Wprowadzanie d wiÚków




                        d wiÚk. W trakcie powstaje egzemplarz klasy
                        SoundChannel, wyposa ony we wïasno ci, dziÚki
                        którym mo emy sterowaÊ d wiÚkiem. JednÈ
                        z tych wïasno ci jest obiekt SoundTransform, który
                        pozwala kontrolowaÊ globalne natÚ enie d wiÚku        Rysunek 8.2. D wiÚki zaimportowane do biblioteki
                        oraz jego balans, czyli rozkïad gïo no ci na prawy    mogÈ byÊ odtwarzane w trakcie odtwarzania filmu
                        i lewy gïo nik.                                       tak e bez umieszczania ich na listwie czasowej,
                                                                              je li u yjemy ActionScript




                                                                              Rysunek 8.3. Oddzielny plik d wiÚkowy MP3
                                                                              mo e zostaÊ zaïadowany do filmu Flasha (SWF)
                                                                              i odtworzony za pomocÈ ActionScript




                        316
Sterowanie d wiÚkiem


Odtwarzanie d wiÚków                             Aby przygotowaÊ symbol d wiÚkowy
                                                 z biblioteki do odtwarzania z ActionScript:
z biblioteki
                                                  1. Zaimportuj do Flasha plik d wiÚkowy,
Mo esz zaimportowaÊ wszystkie potrzebne             wybierajÈc polecenie Plik/Importuj/Importuj
d wiÚki do biblioteki podczas pracy                 do biblioteki i otwierajÈc plik d wiÚkowy.
w rodowisku edycyjnym Flasha, a potem
odtwarzaÊ je w odpowiednich momentach               Wybrany plik d wiÚkowy pojawi siÚ
w trakcie odgrywania filmu. Wymaga to jednak        w bibliotece filmu. Masz do wyboru
udostÚpnienia symboli d wiÚkowych z biblioteki      nastÚpujÈce formaty pliku d wiÚkowego:
 rodowisku ActionScript. Robimy to tak samo,        WAV (dla Windows) AIF (Mac OS) oraz MP3
jak w przypadku symboli graficznych.                (Windows i Mac OS). WiÚcej formatów mo e
W rozdziale 7. procedura ta zostaïa opisana         byÊ dostÚpnych, gdy masz zainstalowany
dla symboli klipów filmowych oraz symboli           program QuickTime na swoim komputerze.
bitmap. Polega to na utworzeniu nowej klasy       2. Zaznacz symbol d wiÚkowy w panelu
dla symbolu, bÚdÈcej rozszerzeniem jednej           Biblioteka.
z ju istniejÈcych klas, dziÚki czemu mo emy
tworzyÊ nowe egzemplarze danego symbolu           3. Z menu opcji panelu Biblioteka wybierz
dynamicznie, za pomocÈ funkcji konstruktora.        polecenie ’Èczenie (rysunek 8.4).
W przypadku symboli d wiÚkowych bÚdziemy            Pojawia siÚ okno dialogowe Wïa ciwo ci
korzystaÊ z rozszerzeñ klasy Sound. NazwÚ           poïÈczenia.
tworzonej klasy mo na ustaliÊ w oknie
Wïa ciwo ci poïÈczenia, po wybraniu              4. W polu ’Èczenie zaznacz opcjÚ Eksportuj
polecenia ’Èczenie z menu opcji panelu              dla ActionScript. Pozostaw wïÈczonÈ opcjÚ
Biblioteka.                                         Eksport w pierwszej klatce.
                                                  5. W polu tekstowym Klasa wpisz nazwÚ klasy.




                                                                                                     Odtwarzanie d wiÚków z biblioteki
                                                    DziÚki tej nazwie bÚdziesz mógï zidentyfikowaÊ
                                                    dany d wiÚk w ActionScript. W polu Klasa
                                                    bazowa pozostaw klasÚ flash.media.Sound.
                                                    Kliknij OK (rysunek 8.5).




Rysunek 8.4. Wybierz polecenie ’Èczenie z menu   Rysunek 8.5. Dla symbolu d wiÚkowego zostaïa
opcji panelu Biblioteka dla ka dego symbolu      utworzona nowa klasa GuitarLoop, dziedziczÈca
d wiÚkowego, który chcesz kontrolowaÊ            metody i wïasno ci klasy Sound
z poziomu ActionScript




                                                                                               317
Rozdziaï 8.


                                    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 (rysunek
                                    8.6). Kliknij OK. W naszym przykïadzie nazwa
                                    nowej klasy to GuitarLoop. Jest ona czÚ ciÈ
                                    istniejÈcej klasy Sound, a wiÚc dziedziczy wszystkie
                                    wïasno ci i metody klasy Sound. Nazwa nowej
                                    klasy bÚdzie wykorzystywana przy tworzeniu
                                    nowych egzemplarzy tego konkretnego d wiÚku          Rysunek 8.6. Kliknij OK, by zamknÈÊ to okienko
                                    w ActionScript. Upewnij siÚ, e nazwa klasy nie       ze zbÚdnym ostrze eniem. Informuje CiÚ ono,
                                                                                          e zostanie utworzona nowa klasa
                                    zawiera kropek.

                                    Aby odtworzyÊ d wiÚk z biblioteki:
                                     1. Kontynuuj pracÚ nad plikiem z poprzedniego
                                          Êwiczenia. Zaznacz pierwszÈ klatkÚ na gïównej
                                                                                          Rysunek 8.7. Zostaje utworzony nowy egzemplarz
                                          listwie czasowej i otwórz panel Operacje.
                                                                                          klasy GuitarLoop, o nazwie mySound („mój
                                     2. W pierwszej linii utwórz nowy egzemplarz          d wiÚk”). Egzemplarz ten mie ci w sobie d wiÚk
                                          swojego symbolu d wiÚkowego, posïugujÈc         z biblioteki filmu. NastÚpnie metoda play() zostaje
                                          siÚ nazwÈ klasy, którÈ dla niego utworzyïe :    u yta do odtworzenia tego d wiÚku
                                            var mySound:GuitarLoop = new
                                            ´GuitarLoop();

                                          Zostaje utworzony nowy egzemplarz obiektu
                                          Sound, zawierajÈcy wybrany d wiÚk
                                          z biblioteki.
Odtwarzanie d wiÚków z 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Úku
                                          odtwarzanie zostanie wstrzymane.

                                    Wskazówka
                                    „ Metoda play()odtwarza egzemplarz d wiÚku
                                          przy ka dym wywoïaniu, nawet gdy ten sam
                                          d 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 metody
                                          stopAll() klasy SoundMixer, zanim zarzÈdzisz
                                          powtórne odtworzenie d wiÚku. Ta technika
                                          gwarantuje, e d wiÚk ucichnie, zanim zacznie
                                          byÊ odtwarzany od poczÈtku.




                                    318
Sterowanie d wiÚkiem


                           Wczytywanie i odtwarzanie
                           zewnÚtrznych d wiÚków
                           Za ka dym razem, gdy importujesz d wiÚk
                           do biblioteki filmu, zwiÚksza siÚ rozmiar
                           wynikowego pliku SWF. D wiÚki mogÈ zajmowaÊ
                           bardzo du o miejsca, nawet w przypadku
                           stosowania kompresji MP3, wiÚc warto zastanowiÊ
                           siÚ nad przechowywaniem ich osobno. Najpro ciej
                           mo na to zrobiÊ, umieszczajÈc ka dy d wiÚk
                           w zewnÚtrznym pliku. Metoda load() wczytuje
                           do filmu pliki MP3 (pozostaïe formaty nie sÈ
                           dostÚpne). Takie podej cie umo liwia podmianÚ
                           pliku d wiÚkowego bez potrzeby edycji
                           dokumentu Flasha. Wyobra sobie, e podkïad
                           muzyczny filmu zapisaïe w pliku audio1.mp3.
                           Aby zmieniÊ muzykÚ na innÈ, wystarczy zastÈpiÊ
                           plik audio1.mp3 innym plikiem, nadajÈc mu tÚ
                           samÈ nazwÚ; Flash zacznie odtwarzaÊ nowy d wiÚk.
                           Metoda load() wymaga podania tylko jednego
                           parametru. Jest nim obiekt URLRequest, który
                           zawiera cie kÚ dostÚpu do pliku MP3.

                           Aby zaïadowaÊ i odtworzyÊ




                                                                                 Wczytywanie i odtwarzanie d wiÚków
                           zewnÚtrzny d wiÚk:
                             1. Zadeklaruj i zainicjalizuj obiekt URLRequest
                                za pomocÈ funkcji konstruktora new
                                URLRequest(). 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 przypadku
jest to plik d wiÚkowy music.mp3, umieszczony w tym samym
katalogu, w którym znajduje siÚ film Flasha




                                                                           319
Rozdziaï 8.


                                        ¥cie ka dostÚpu jest podawana w formie ciÈgu
                                        znaków, musisz wiÚc ujÈÊ jÈ w cudzysïów.
                                        Mo esz zaïadowaÊ plik MP3 z wïasnego
                                        dysku lub z internetu, u ywajÈc adresu
                                        bezwzglÚdnego. Je li plik MP3 znajduje siÚ
                                        w tym samym katalogu, w którym jest film
                                        Flasha, wystarczy podaÊ jego nazwÚ.
                                      2. Zadeklaruj i zainicjalizuj obiekt Sound
                                         za pomocÈ funkcji konstruktora new Sound()
                                        (rysunek 8.9).
                                      3. W kolejnej linii wpisz nazwÚ obiektu Sound,
                                         kropkÚ, a potem metodÚ load(). U yj obiektu
                                         URLRequest jako parametru tej metody.
                                      4. W kolejnej linii wpisz nazwÚ swojego obiektu
                                         Sound, kropkÚ i metodÚ play(). Mo esz u yÊ
                                        dodatkowych parametrów (nie jest
                                        to obowiÈzkowe), by okre liÊ poczÈtek
                                        odtwarzania 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.
Wczytywanie i odtwarzanie d wiÚków




                                        Zaraz po rozpoczÚciu odtwarzania filmu Flash
                                        odszukuje zewnÚtrzny plik MP3 za pomocÈ
                                        obiektu URLRequest, ïaduje go i odtwarza
                                        równolegle z filmem.




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




                                                           Rysunek 8.10. Metoda load() pobiera plik d wiÚkowy
                                                           z miejsca wskazanego przez obiekt URLRequest, a metoda
                                                           play() go odtwarza




                                     320
Sterowanie d wiÚkiem


Sterowanie                                        Je li w momencie wywoïywania metody play()
                                                  nie przeka e siÚ adnych parametrów, Flash
odtwarzaniem d wiÚków                             odtworzy d wiÚk jednokrotnie od samego
                                                  poczÈtku.
Metoda play() obiektu Sound przyjmuje trzy
opcjonalne parametry. Pierwszy z nich             Aby odtworzyÊ d wiÚk
to parametr przesuniÚcia w czasie. Jest to liczba
                                                  od wybranego punktu:
oznaczajÈca, ile milisekund nagrania, liczÈc
od poczÈtku trwania d wiÚku, zostanie              X U yj dla metody play() obiektu Sound
pominiÚtych. Odtwarzanie d wiÚku mo na               pierwszego z jej parametrów, podajÈc
rozpoczÈÊ od samego poczÈtku lub od dowolnego        warto Ê wyra onÈ w milisekundach.
pó niejszego punktu. Gdy d wiÚk trwa 20 sekund,
                                                     D wiÚk bÚdzie odtwarzany od tego
nic nie stoi na przeszkodzie, by rozpoczÈÊ
                                                     punktu w czasie (liczÈc w milisekundach;
odtwarzanie od jego rodka, czyli od 10.
                                                     rysunek 8.11).
sekundy; wystarczy u yÊ metody play(10000).
Nie jest to opó nienie rozpoczÚcia odtwarzania
                                                  Aby ustaliÊ liczbÚ powtórzeñ:
o 10 sekund, ale natychmiastowe odtworzenie
od 10. sekundy.                                    X U yj dla metody play() obiektu Sound
                                                     drugiego z jej parametrów, podajÈc liczbÚ
Drugi parametr okre la liczbÚ odtworzeñ
                                                     powtórzeñ.
d wiÚku. Przekazanie warto ci 2 spowoduje
odtworzenie d wiÚku dwukrotnie bez adnych            D wiÚk bÚdzie odtwarzany tyle razy, ile sobie
przerw miÚdzy kolejnymi uruchomieniami.              za yczyïe (rysunek 8.12).
Wielokrotne powtarzanie (zapÚtlenie) jest zwykle
stosowane dla d wiÚków tak przygotowanych,        Wskazówki
by ich koniec pasowaï do poczÈtku,
                                                   „ Niestety, nie istnieje sposób, by poinformowaÊ
tak e moment przeskoku pomiÚdzy koñcem




                                                                                                      Sterowanie odtwarzaniem d wiÚków
                                                     metodÚ play() o chÚci nieskoñczonego
a poczÈtkiem nagrania jest niezauwa alny.
                                                     zapÚtlenia d wiÚku. W takiej sytuacji jako
Trzecim parametrem metody play() jest obiekt         warto Ê parametru zapÚtlenia mo esz
SoundTransform. Zapewnia on kontrolÚ nad             przekazaÊ bardzo du È warto Ê, na przykïad
ogólnÈ gïo no ciÈ d wiÚku oraz nad balansem          99999.
gïo no ci pomiÚdzy lewym a prawym gïo nikiem.
Obiekt SoundTransform zostanie dokïadniej
opisany w dalszej czÚ ci rozdziaïu.




                       Rysunek 8.11. W tym przykïadzie dla metody play() u yto
                       parametru o warto ci 14000, co oznacza odtwarzanie d wiÚku
                       od 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 d wiÚku od samego poczÈtku


                                                                                                321
Rozdziaï 8.


                                   Wstrzymywanie odtwarzania d wiÚku
                                   Odtwarzanie d wiÚku mo na wstrzymaÊ, stosujÈc
                                   metodÚ klasy SoundChannel. Gdy wywoïujemy
                                   metodÚ play() klasy Sound, tworzony jest
                                   egzemplarz obiektu SoundChannel. Dla ka dego
                                   odtwarzanego d wiÚku jest jeden egzemplarz
                                   SoundChannel.
                                   Aby przypisaÊ egzemplarz SoundChannel
                                   do zmiennej i móc odnosiÊ siÚ pó niej do niego
                                   w ActionScript, u yj nastÚpujÈcej instrukcji:
                                     myChannel:SoundChannel=
                                                                                        Rysunek 8.13. Ten egzemplarz przycisku
                                     ´mySound.play();
                                                                                        na scenie otrzymaï nazwÚ stopbutton_btn
                                   W tym przykïadzie odtwarzany jest d wiÚk
                                   doïÈczony do obiektu zwanego mySound. Zwrócony
                                   obiekt SoundChannel jest umieszczany w zmiennej
                                   o nazwie myChannel. Mo esz teraz wstrzymaÊ
                                   odtwarzanie d wiÚku, stosujÈc metodÚ stop()
                                   obiektu klasy SoundChannel:                          Rysunek 8.14. Gdy wywoïywana jest metoda
                                                                                        play() obiektu Sound, zwraca ona obiekt
                                     myChannel.stop();                                  SoundChannel. Obiekt ten jest przypisywany
                                                                                        do zmiennej myChannel
                                   Aby zatrzymaÊ odtwarzanie d wiÚku:
                                    1. Kontynuuj pracÚ nad plikiem z Êwiczenia
                                         „Aby zaïadowaÊ i odtworzyÊ zewnÚtrzny
Sterowanie odtwarzaniem d wiÚków




                                         d wiÚk”.
                                    2. Utwórz nowy symbol przycisku, umie Ê jego
                                         egzemplarz na scenie i nadaj mu nazwÚ
                                         w panelu Wïa ciwo ci (rysunek 8.13).
                                         W naszym przykïadzie u yjemy funkcji
                                         obsïugujÈcej zdarzenie klikniÚcia tego
                                         przycisku, by wstrzymaÊ odtwarzanie d wiÚku.
                                    3. Zaznacz pierwszÈ klatkÚ gïównej listwy
                                         czasowej 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 umieszcza
                                         obiekt SoundChannel, zwrócony przez metodÚ
                                         play(), w nowej zmiennej (typu SoundChannel)
                                         o nazwie myChannel (rysunek 8.14).




                                   322
Sterowanie d wiÚkiem


                                                  5. Utwórz funkcjÚ typu event handler,
                                                    wykrywajÈcÈ klikniÚcie przycisku na scenie.
                                                 6. WewnÈtrz nawiasów klamrowych funkcji
Rysunek 8.15. Funkcja obsïugujÈca zdarzenie         wpisz nazwÚ obiektu SoundChannel, kropkÚ
klikniÚcia przycisku stopbutton_btn na scenie.      i metodÚ stop(), tak jak w poni szym
Metoda stop(), która zatrzymuje odtwarzanie         przykïadzie (rysunek 8.15).
d wiÚku, jest wywoïywana dla obiektu
SoundChannel, zwanego myChannel                       myChannel.stop();

                                                  7. Przetestuj film.
                                                    ZewnÚtrzny d wiÚk zaczyna byÊ odtwarzany
                                                    po uruchomieniu filmu. KlikniÚcie przycisku
                                                    spowoduje zakoñczenie odtwarzania.

                                                 Wskazówka
                                                 „ Mo esz równie u yÊ metody stopAll() klasy
                                                   SoundMixer. To spowoduje zatrzymanie
                                                    odtwarzania wszystkich d wiÚków. U yj
                                                    na przykïad polecenia SoundMixer.stopAll().

                                                 Wznawianie d wiÚków
                                                 Mo esz dowiedzieÊ siÚ, jaka czÚ Ê d wiÚku zostaïa
                                                 ju odtworzona, korzystajÈc z wïasno ci position
                                                 obiektu SoundChannel. Wïasno Ê position
                                                 zwraca bie Ècy czas odtwarzanego nagrania




                                                                                                      Sterowanie odtwarzaniem d wiÚków
                                                 w milisekundach. Jest to bardzo przydatne,
Rysunek 8.16. Drugi egzemplarz przycisku
                                                 gdy chcesz zapamiÚtaÊ moment, w którym
na scenie otrzymuje nazwÚ resumebutton_btn
                                                 odtwarzanie d wiÚku zostaïo przerwane, a potem
                                                 wznowiÊ je od tego samego punktu.
                                                 Gdy u ytkownik zatrzymuje odtwarzanie d wiÚku,
                                                 mo esz przechwyciÊ warto Ê wïasno ci position
                                                 obiektu SoundChannel w tym momencie,
                                                 przypisujÈc tÚ warto Ê do zmiennej. Potem,
                                                 wznawiajÈc odtwarzanie d wiÚku, przypiszesz
                                                 przechwyconÈ warto Ê do pierwszego parametru
                                                 metody play()obiektu Sound.

                                                 Aby wznowiÊ odtwarzanie:
                                                  1. KontynuujÈc pracÚ nad plikiem z poprzedniego
                                                    Êwiczenia, umie Ê na scenie kolejny egzemplarz
                                                    przycisku i nadaj mu nazwÚ w panelu
                                                    Wïa ciwo ci (rysunek 8.16).
                                                    W tym Êwiczeniu utworzymy funkcjÚ
                                                    obsïugujÈcÈ zdarzenie klikniÚcia tego drugiego
                                                    przycisku, aby umo liwiÊ wznowienie
                                                    odtwarzania d wiÚku od punktu, w którym
                                                    zostaïo przerwane.


                                                                                                323
Rozdziaï 8.


                                    2. Zaznacz pierwszÈ klatkÚ gïównej listwy             5. Utwórz kolejnÈ funkcjÚ typu event handler,
                                      czasowej i otwórz panel Operacje.                      reagujÈcÈ na klikniÚcie drugiego przycisku
                                                                                             umieszczonego na scenie.
                                    3. Zacznij tworzenie dalszej czÚ ci skryptu
                                      od zadeklarowania zmiennej                             Zadaniem tej funkcji bÚdzie wznowienie
                                      do przechowywania warto ci caïkowitych                 odtwarzania d wiÚku.
                                      (integer; rysunek 8.17).
                                                                                          6. PomiÚdzy nawiasami klamrowymi funkcji
                                      Zmienna ta bÚdzie przechowywaÊ bie ÈcÈ                 wpisz nastÚpujÈce polecenie (rysunek 8.19):
                                      pozycjÚ odtwarzania.                                     myChannel:SoundChannel=
                                    4. WróÊ do funkcji event handler, utworzonej               ´mySound.play(pauseposition);
                                      dla pierwszego przycisku, przeznaczonego               Pozycja odtwarzania zatrzymanego d wiÚku
                                      do zatrzymania odtwarzania. Tu przed metodÈ            zostanie u yta jako pierwszy parametr
                                      stop() wpisz dodatkowe polecenie, takie jak            metody play(), który decyduje o warto ci
                                      to poni ej (rysunek 8.18):                             przesuniÚcia. D wiÚk jest odtwarzany
                                         pauseposition=myChannel.position;                   od miejsca, w którym siÚ zatrzymaï.

                                      Tu przed zatrzymaniem d wiÚku bie Èca               7. Przetestuj film.
                                      pozycja odtwarzania jest przypisywana                  ZewnÚtrzny plik d wiÚkowy zaczyna siÚ
                                      do zmiennej.                                           odtwarzaÊ. KlikniÚcie pierwszego przycisku
                                                                                             wstrzymuje odtwarzanie. KlikniÚcie
                                                                                             drugiego  wznawia je.
Sterowanie odtwarzaniem d wiÚków




                                                     Rysunek 8.17. Pod wietlone polecenie deklaruje nowÈ
                                                     zmiennÈ o nazwie pauseposition, która bÚdzie
                                                     przechowywaÊ liczbÚ caïkowitÈ




                                                     Rysunek 8.18. Zanim odtwarzanie d wiÚku zostanie przerwane,
                                                     obecna pozycja odtwarzania (czas, jaki minÈï od poczÈtku
                                                     nagrania, w milisekundach) jest przechwytywana i zapisywana
                                                     w zmiennej pauseposition




                                                     Rysunek 8.19. Funkcja obsïugujÈca zdarzenie klikniÚcia przycisku
                                                     resumebutton_btn, umieszczonego na scenie. Metoda play()
                                                     wykorzystuje zmiennÈ pauseposition jako parametr, tak by
                                                     odtwarzanie byïo wznawiane od momentu, w którym je przerwano

                                   324
Sterowanie d wiÚkiem


Modyfikacja natÚ enia                                    NastÚpnie trzeba ustawiÊ odpowiedniÈ
                                                         wïasno Ê tego obiektu  na przykïad volume
i balansu d wiÚku                                         na wïa ciwÈ warto Ê, a potem u yÊ obiektu
                                                         SoundTransform jako trzeciego parametru
Flash oferuje peïnÈ kontrolÚ nad gïo no ciÈ
                                                         metody play(), tak jak w poni szym przykïadzie:
i balansem d wiÚku (siïÈ d wiÚku podawanÈ
do lewego i prawego gïo nika). Nic wiÚc nie stoi           newVolume.volume=.5;
na przeszkodzie, by daÊ u ytkownikowi                      mySound.play(0,0,newVolume);
mo liwo Ê sterowania gïo no ciÈ lub te                   Aby zmieniÊ gïo no Ê lub balans d wiÚku, który
stosowaÊ zmiany gïo no ci do uzyskania efektów           ju jest odtwarzany, nale y przypisaÊ obiekt
specjalnych. Mo esz na przykïad zwiÚkszaÊ,               SoundTransform do wïasno ci soundTransform
a potem stopniowo zmniejszaÊ natÚ enie ryku              obiektu SoundChannel. Na przykïad tak:
silnika, gdy w grze w wy cigi samochodowe
wymija gracza inny zawodnik. Sterowanie                    var newVolume:SoundTransform=new
                                                           ´SoundTransform();
balansem mo na zastosowaÊ w grze Pong,
                                                           newVolume.volume=.5;
by odgïos uderzenia piïki w rakietkÚ dobiegaï              myChannel.soundTransform=newVolume;
z gïo nika po wïa ciwej stronie.
                                                         Pierwsze z tych poleceñ tworzy nowy obiekt
Aby zmieniÊ ogólnÈ gïo no Ê oraz balans danego           klasy SoundTransform o nazwie newVolume
d wiÚku, musisz wprowadziÊ trzeci parametr               („nowa gïo no Ê”). NastÚpnie wïasno Ê volume
do metody play() (jak zapewne pamiÚtasz,                 tego obiektu zostaje odpowiednio zmieniona.
pierwszy parametr decyduje o przesuniÚciu                Na koniec obiekt SoundTransform zostaje
odtwarzania, a drugi — o liczbie powtórzeñ).             przypisany do wïasno ci soundTransform
Trzeci parametr wymaga u ycia obiektu klasy              obiektu SoundChannel, zwiÈzanego z d wiÚkiem,
SoundTransform. Najpierw trzeba go wiÚc
                                                         który jest aktualnie odtwarzany.
utworzyÊ:




                                                                                                                        Modyfikacja natÚ enia i balansu d wiÚku
                                                         Klasa SoundTransform jest wyposa ona we
  var newVolume:SoundTransform=new
  ´SoundTransform()                                      wïasno ci, takie jak volume (gïo no Ê), pan (balans)
                                                         oraz jeszcze kilka, sïu Ècych do precyzyjnego
                                                         manipulowania prawym i lewym kanaïem.
                                                         Ich opis znajdziesz w tabeli 8.1.




Tabela 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 prawo
leftToLeft     Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile lewego kanaïu zostanie odtworzone w lewym gïo niku
leftToRight    Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile lewego kanaïu zostanie odtworzone w prawym gïo niku
rightToLeft    Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile prawego kanaïu zostanie odtworzone w lewym gïo niku
rightToRight   Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile prawego kanaïu zostanie odtworzone w prawym gïo niku

                                                                                                                  325
Rozdziaï 8.


                                          Aby ustawiÊ gïo no Ê d wiÚku                              Obiekt ten jest wyposa ony we wïasno ci,
                                          przed jego odtworzeniem:                                  których mo emy u yÊ do sterowania
                                                                                                    gïo no ciÈ i balansem d wiÚku.
                                           1. Zadeklaruj i zainicjalizuj obiekt URLRequest,
                                              korzystajÈc z konstruktora new URLRequest(),        5. W kolejnej linii wpisz nazwÚ swojego
                                             i wpisz w roli parametru cie kÚ do pliku MP3.           obiektu SoundTransform, kropkÚ i wïasno Ê,
                                                                                                     której chcesz u yÊ: volume dla gïo no ci,
                                           2. W nastÚpnej linii zadeklaruj i zainicjalizuj           pan dla balansu. Potem wstaw znak
                                              nowy obiekt Sound, korzystajÈc z konstruktora         równo ci i wpisz odpowiedniÈ warto Ê
                                              new Sound().                                          (rysunek 8.20).
                                           3. W kolejnym wierszu wpisz nazwÚ swojego             6. W nastÚpnej linii wpisz nazwÚ obiektu
                                              obiektu Sound, kropkÚ i metodÚ load().                Sound, kropkÚ i metodÚ play(). Jako
                                              W roli parametru u yj obiektu URLRequest.             parametry wpisz 0, 5 oraz nazwÚ obiektu
                                             Flash ïaduje zewnÚtrzny plik MP3, wskazany             SoundTransform (rysunek 8.21). Przypisz
                                             przez obiekt URLRequest.                               warto Ê zwróconÈ przez metodÚ play()
                                                                                                    do obiektu klasy SoundChannel.
                                           4. W kolejnej linii zadeklaruj i zainicjalizuj nowy
                                              obiekt SoundTransform, korzystajÈc                  7. Przetestuj film.
                                              z konstruktora new SoundTransform().                  Metoda play() odtwarza d wiÚk, korzystajÈc
                                                                                                    z obiektu SoundTransform do ustalenia
                                                                                                    poziomu gïo no ci i (lub) balansu.
Modyfikacja natÚ enia i balansu d wiÚku




                                                               Rysunek 8.20. Wïasno Ê gïo no ci (volume) tego obiektu
                                                               SoundTransform zostaïa ustawiona na poïowÚ peïnej gïo no ci




                                                               Rysunek 8.21. Obiekt SoundTransform o nazwie newSetting
                                                               zostaje u yty jako trzeci parametr metody play(). Ten d wiÚk
                                                               bÚdzie odtwarzany od poczÈtku, piÚÊ razy, z gïo no ciÈ
                                                               zmniejszonÈ do poïowy




                                          326
Sterowanie d wiÚkiem


                                        Aby ustawiÊ gïo no Ê d wiÚku
                                        w trakcie odtwarzania:
                                         1. Utwórz przycisk, umie Ê jego egzemplarz
                                           na scenie i nadaj mu nazwÚ w panelu
                                           Wï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Úku
                                           w trakcie odtwarzania.
                                         2. Zaznacz pierwszÈ klatkÚ gïównej listwy
                                           czasowej i otwórz panel Operacje. Zacznij
                                           od zadeklarowania i zainicjalizowania obiektu
Rysunek 8.22. Egzemplarz przycisku         URLRequest za pomocÈ konstruktora new
na scenie otrzymaï nazwÚ decrease_btn      URLRequest(). Jako parametr podaj cie kÚ
                                           do zewnÚtrznego pliku MP3.
                                         3. W kolejnej linii zadeklaruj i zainicjalizuj
                                            obiekt Sound za pomocÈ konstruktora new
                                            Sound().
                                        4. W nastÚpnym wierszu wpisz nazwÚ obiektu
                                           Sound, kropkÚ i metodÚ load(). Wpisz
                                           w nawiasach nazwÚ obiektu URLRequest
                                           jako parametr tej metody.




                                                                                                 Modyfikacja natÚ enia i balansu d wiÚku
                                           Flash zaïaduje zewnÚtrzny plik MP3, którego
                                           adres jest zawarty w obiekcie URLRequest.
                                         5. W kolejnej linii zadeklaruj i zainicjalizuj obiekt
                                            SoundTransform za pomocÈ konstruktora new
                                            SoundTransform().
                                           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ïadzie
                                           egzemplarz obiektu SoundTransform otrzymaï
                                           nazwÚ newSetting („nowe ustawienia”).




                                                                                           327
Rozdziaï 8.


                                          6. W kolejnej linii wpisz nastÚpujÈce polecenie:       8. W kolejnej linii, lecz wciÈ w ramach
                                                var myChannel:SoundChannel
                                                                                                   funkcji event handler, dodaj polecenie:
                                                ´=mySound.play();                                     myChannel.soundTransform=newSetting;
                                             To polecenie odtwarza d wiÚk i umieszcza              To polecenie przypisuje obiekt
                                             zwrócony przez metodÚ play() obiekt klasy             SoundTransform o nazwie newSetting
                                             SoundChannel w nowej zmiennej, tu o nazwie            do wïasno ci soundTransform odtwarzanego
                                             myChannel (rysunek 8.23).                             d wiÚku, tak by zmniejszenie gïo no ci
                                           7. W nastÚpnej linii utwórz funkcjÚ obsïugujÈcÈ         doszïo do skutku (rysunek 8.24).
                                             zdarzenie (event handler), która bÚdzie             9. Przetestuj film.
                                             wykrywaÊ klikniÚcie przycisku na scenie.
                                             W nawiasach klamrowych funkcji umie Ê                 ZewnÚtrzny plik MP3 ïaduje siÚ i odtwarza.
                                             polecenie:                                            Przy ka dym klikniÚciu przycisku wïasno Ê
                                                                                                   volume obiektu SoundTransform o nazwie
                                                newSetting.volume-=0.1;                            newSetting zmniejsza siÚ o 0,1. NastÚpnie
                                             To oznacza, e przy ka dym klikniÚciu                  zmodyfikowany obiekt newSetting jest
                                             przycisku warto Ê przypisana wïasno ci volume         przypisywany do wïasno ci soundTransform
                                             obiektu SoundTransform zmniejszy siÚ o 0,1.           odtwarzanego d wiÚku, co powoduje
                                                                                                   obni enie jego gïo no ci.
Modyfikacja natÚ enia i balansu d wiÚku




                                                            Rysunek 8.23. Odtwarzany jest zewnÚtrzny plik MP3
                                                            o 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,1
                                                            warto ci przypisanej do wïasno ci volume obiektu klasy
                                                            SoundTransform, zwanego newSetting. Obiekt SoundTransform jest
                                                            przypisany do wïasno ci soundTransform obiektu SoundChannel,
                                                            by mo na byïo zmieniaÊ gïo no Ê w trakcie odtwarzania




                                          328
Sterowanie d wiÚkiem


                                              Aby zamieniÊ z sobÈ kanaïy d wiÚku:
                                              X Przypisz nastÚpujÈce warto ci wïasno ciom
                                                obiektu SoundTransform:
                                                   leftToLeft=0;
                                                   leftToRight=1;
                                                   rightToRight=0;
                                                   rightToLeft=1;

                                                 Gdy dokonasz takiej zmiany wïasno ci obiektu
                                                 SoundTransform i przypiszesz ten obiekt
                                                 do wïasno ci soundTransform obiektu
                                                 SoundChannel lub u yjesz go w roli trzeciego
                                                 parametru metody play(), kanaïy lewy i prawy
                                                 zostanÈ zamienione: kanaï prawy bÚdzie
                                                 odtwarzany z lewego gïo nika, a lewy
Rysunek 8.25. Wïa ciwo ci obiektu                — z prawego (rysunek 8.25).
SoundTransform, okre lajÈce rozkïad d wiÚku
pochodzÈcego z lewego i prawego kanaïu        Wskazówka
w poszczególnych gïo nikach. Wïa ciwo ci
te przyjmujÈ warto ci od 0 do 1               „ Aby skróciÊ skrypt, mo esz ustawiÊ wïasno ci
                                                obiektu SoundTransform ju w chwili jego
                                                zainicjalizowania. Na przykïad polecenie var
                                                myNewSettings:SoundTransform=new
                                                SoundTransform(.5,1) stanowi odpowiednik
                                                 nastÚpujÈcej sekwencji poleceñ:




                                                                                                Modyfikacja natÚ enia i balansu d wiÚku
                                                   var myNewSettings:SoundTransform=new
                                                   ´SoundTransform();
                                                   myNewSettings.volume=.5;
                                                   myNewSettings.pan=1;




                                                                                          329
Rozdziaï 8.


                             Wykrywanie zdarzeñ d wiÚku
                             Mo na wykryÊ moment zakoñczenia odtwarzania
                             d wiÚku, u ywajÈc zdarzenia
                             Event.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Èzany
                             z obiektem SoundChannel zostanie ju w caïo ci
                             odtworzony, wywoïana zostanie funkcja o nazwie
                             finished („skoñczone”) i wykonane zostanÈ
                             wszystkie polecenia, jakie w tej funkcji umie cisz.
                             Zdarzenie Event.SOUND_COMPLETE umo liwia
                             sterowanie d wiÚkiem i jego integracjÚ na wiele
                             ró nych sposobów. Wystarczy wyobraziÊ sobie
                             szafÚ grajÈcÈ, losowo wybierajÈcÈ piosenki z banku
                             albumów. Gdy zakoñczy siÚ jedna piosenka,
                             Flash wie, e nadszedï czas na rozpoczÚcie
                             kolejnej. Inny przykïad to prezentacja biznesowa,
                             która przechodzi do kolejnego slajdu dopiero
                             po zakoñczeniu narracji. W poni szym Êwiczeniu
                             wykorzystamy zdarzenie koñca odtwarzania
Wykrywanie zdarzeñ d wiÚku




                             do ustalenia momentu, w którym Flash powinien
                             zaïadowaÊ i odtworzyÊ kolejny plik.

                             Aby wykryÊ zakoñczenie odtwarzania d wiÚku:
                              1. Zadeklaruj i zainicjalizuj obiekt URLRequest
                                 za pomocÈ funkcji konstruktora new
                                 URLRequest() i wpisz jako parametr adres
                                zewnÚtrznego pliku MP3.
                              2. W kolejnej linii zadeklaruj i zainicjalizuj
                                 obiekt Sound za pomocÈ funkcji konstruktora
                                 new Sound().
                              3. W kolejnej linii wpisz nazwÚ obiektu Sound,
                                 kropkÚ i metodÚ load(). Jako parametr tej
                                 metody podaj obiekt URLRequest.




                             330
Sterowanie d wiÚkiem


4. W nowej linii wpisz nazwÚ obiektu Sound,           Gdy odtwarzanie d wiÚku siÚ zakoñczy,
   kropkÚ i metodÚ play() bez parametrów.             funkcja zostanie wywoïana. W tym przypadku
  Przypisz zwróconÈ warto Ê do nowego                 dziaïanie funkcji polega na utworzeniu nowego
  obiektu SoundChannel (rysunek 8.26).                obiektu Sound, który zaïaduje i odtworzy inny
                                                      d wiÚk.
5. W kolejnej linii utwórz odbiornik zdarzeñ
   w obiekcie SoundChannel, nastawiony            Wskazówka
   na wykrycie zdarzenia Event.
   ´SOUND_COMPLETE (rysunek 8.27).                „ Je li d wiÚk jest zapÚtlony (powtarzany
                                                    wielokrotnie), zdarzenie Event.S
6. Utwórz funkcjÚ uruchamianÈ przez                 ´OUND_COMPLETE zostanie zgïoszone
   zdarzenie Event.SOUND_COMPLETE                     po ostatniej pÚtli.
  (rysunek 8.28).




                    Rysunek 8.26. Odtwarzany jest zewnÚtrzny plik MP3
                    o nazwie music1.mp3




                    Rysunek 8.27. Odbiornik zdarzeñ wykrywa zakoñczenie




                                                                                                       Wykrywanie zdarzeñ d wiÚku
                    ïadowania i wywoïuje (tu jeszcze niezdefiniowanÈ) funkcjÚ
                    o nazwie finished




                    Rysunek 8.28. Funkcja o nazwie finished rozpoczyna odtwarzanie
                    drugiego pliku d wiÚkowego




                                                                                                 331
Rozdziaï 8.

                                                                                         Tabela 8.2. Znaczniki ID3v2
                                    Wykorzystanie znaczników
                                                                                         Wäa ciwo è Opis
                                    informacyjnych plików MP3                            id3.COMM    komentarz
                                    Pliki MP3 to obecnie najpopularniejszy format        id3.TALB    tytuï albumu, filmu lub nazwa
                                    cyfrowy przechowywania muzyki. Kompresja                         przedstawienia
                                    MP3 pozwala znaczÈco zmniejszyÊ rozmiar pliku        id3.TBPM    taktowanie
                                    przy jednoczesnym zachowaniu bardzo wysokiej         id3.TCOM    kompozytor
                                    jako ci, niemal takiej jak przy odtwarzaniu pïyt     id3.TCOP    informacja o prawach autorskich
                                    kompaktowych. DodatkowÈ zaletÈ plików MP3            id3.TDAT    data
                                    jest mo liwo Ê „zaszycia” w ich wnÚtrzu
                                                                                         id3.TDLY    opó nienie listy odtwarzania
                                    dodatkowych informacji na temat muzyki
                                                                                         id3.TENC    autor kodowania
                                    — metadanych. Pierwsza wersja metadanych
                                                                                         id3.TEXT    autor sïów
                                    (tak zwanych znaczników ID3) byïa umieszczana
                                    na koñcu pliku MP3. Zawieraïa takie informacje,      id3.TFLT    typ pliku
                                    jak autor, tytuï piosenki, nazwa albumu,             id3.TIME    czas
                                    rok wydania, komentarz i gatunek muzyczny.           id3.TIT1    opis grupy zawarto ci
                                    Informacje znajdujÈce siÚ na koñcu pliku byïy        id3.TIT2    tytuï lub nazwa piosenki
                                    odczytywane przez wiÚkszo Ê odtwarzaczy MP3.         id3.TIT3    podtytuï, dokïadniejszy opis
                                    Po pewnym czasie powstaïa obowiÈzujÈca obecnie       id3.TKEY    klucz poczÈtkowy
                                    druga wersja ID3. JednÈ z jej gïównych cech jest     id3.TLAN    jÚzyki
                                    przeniesienie informacji na poczÈtek pliku MP3,      id3.TLEN    dïugo Ê
                                    by usprawniÊ obsïugÚ strumieniowania. Dodatkowo      id3.TMED    typ medium
                                    pojawiïo siÚ wiele nowych pól, miÚdzy innymi         id3.TOAL    oryginalny album, film lub nazwa
                                    informacja na temat kompozytora, dyrygenta, typ                  przedstawienia
                                    medium, informacja o prawach autorskich i data       id3.TOFN    oryginalna nazwa pliku
Znaczniki informacyjne plików MP3




                                    nagrania.                                            id3.TOLY    pierwotny autor tekstu
                                    Flash potrafi odczytywaÊ znaczniki ID3v2 plików      id3.TOPE    pierwotny wykonawca
                                    MP3. Ka dy element informacji (nazywany              id3.TORY    pierwotna data wydania
                                    znacznikiem) odpowiada konkretnej wïa ciwo ci        id3.TOWN    wïa ciciel pliku, licencja
                                    obiektu id3, bÚdÈcego czÚ ciÈ obiektu Sound.         id3.TPE1    gïówny wykonawca lub solista
                                    Przykïadowo, mySound_sound.id3.TALB zawiera          id3.TPE2    zespóï, orkiestra, akompaniament
                                    nazwÚ albumu. Tabela 8.2 wymienia wszystkie          id3.TPE3    dyrygent, re yser d wiÚku
                                    znaczniki obsïugiwane przez Flasha                   id3.TPE4    zaaran owane, zmiksowane lub w inny
                                    za po rednictwem wïasno ci obiektu Sound.                        sposób zmienione przez
                                    W jaki sposób pobiera siÚ znaczniki ID3? Trzeba      id3.TPOS    czÚ Ê zbioru
                                    utworzyÊ funkcjÚ obsïugi zdarzenia, które jest       id3.TPUB    wydawca
                                    wywoïywane, gdy dostÚpne sÈ znaczniki dla            id3.TRCK    numer cie ki lub pozycja w zbiorze
                                    d wiÚku odtwarzanego metodÈ play(). Sïu y            id3.TRDA    data nagrania
                                    do tego zdarzenie Event.ID3. Jest to jedyny sposób   id3.TRSN    nazwa radiowej stacji internetowej
                                    na odczytanie tych informacji.                       id3.TRSO    wïa ciciel radiowej stacji internetowej
                                    W kolejnym Êwiczeniu zaïadujesz zewnÚtrzny           id3.TSIZ    rozmiar
                                    plik MP3 i wy wietlisz zawarte w nim informacje      id3.TSRC    miÚdzynarodowy, standaryzowany kod
                                    w oknie Wyj cie.                                                 nagrania (ISRC)
                                                                                         id3.TSSE    oprogramowanie lub sprzÚt u yty
                                                                                                     do kodowania
                                                                                         id3.TYER    rok
                                                                                         id3.WXXX    ïÈcze URL



                                    332
Sterowanie d wiÚkiem


Aby pobraÊ informacje na temat pliku MP3:            5. Dodaj odbiornik zdarzeñ do obiektu Sound.
                                                       Nastaw go na wykrywanie zdarzenia
 1. Zadeklaruj i zainicjalizuj obiekt klasy
                                                       Event.ID3, tak jak w poni szym przykïadzie:
    URLRequest, u ywajÈc konstruktora new
    URLRequest(). Jako parametr podaj cie kÚ             mySound.addEventListener(Event.ID3,
                                                         ´gotmedata);
   do pliku MP3.
 2. Zadeklaruj i zainicjalizuj obiekt klasy Sound,     Gdy Flash otrzyma dane ID3 od zaïadowanego
                                                       pliku MP3, zdarzenie to uruchomi funkcjÚ
    u ywajÈc konstruktora new Sound().
                                                       o nazwie gotmedata („podaj dane”).
 3. Wpisz nazwÚ utworzonego obiektu Sound,
                                                     6. Utwórz funkcjÚ o nazwie gotmedata,
    kropkÚ i metodÚ load(). W nawiasie jako
                                                        wywoïywanÈ przez zdarzenie Event.ID3.
   parametr podaj wcze niej utworzony obiekt
                                                       PomiÚdzy nawiasami klamrowymi funkcji
   URLRequest.
                                                       umie Ê polecenie trace, przeznaczone
   Flash ïaduje zewnÚtrzny plik MP3, którego           do wy wietlenia wïasno ci id3, tak jak
   adres i nazwa zostaïy zdefiniowane                  w poni szym przykïadzie (rysunek 8.30):
   w obiekcie URLRequest.
                                                         function gotmedata(myevent:
4. W nowym wierszu ponownie wpisz nazwÚ                  ´Event) : void{
                                                         trace("title="+mySound.id3.TIT2);
   obiektu Sound oraz kropkÚ. Wpisz metodÚ
                                                         }
   play() bez parametrów (rysunek 8.29).
                                                       W tym przykïadzie polecenie trace wy wietla
   Metoda play() odtwarza d wiÚk.                      informacjÚ na temat tytuïu piosenki zapisanej
                                                       w pliku MP3. Do podanej informacji doïÈcza
                                                       obja nienie o brzmieniu title= („tytuï to...”).




                                                                                                         Znaczniki informacyjne plików MP3
                       Rysunek 8.29. Odtwarzany jest zewnÚtrzny plik MP3
                       o 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




                                                                                                   333
Rozdziaï 8.


                                        7. Dodaj wiÚcej poleceñ trace pomiÚdzy             Wskazówki
                                          nawiasami klamrowymi funkcji, tak by
                                                                                            „ U ywajÈc dynamicznych pól tekstowych,
                                          odczytana zostaïa caïa informacja, jakiej
                                                                                               mo na wy wietliÊ u ytkownikowi wszystkie
                                          potrzebujesz (rysunek 8.31).
                                                                                               potrzebne informacje, zawarte
                                        8. Zapisz swój plik FLA w miejscu, z którego           w znacznikach ID3, na scenie (a nie w oknie
                                          bÚdzie potrafiï znale Ê plik MP3, wskazany           Wyj cie). WiÚcej informacji na temat
                                          przez obiekt URLRequest1.                            dynamicznych pól tekstowych znajduje
                                                                                               siÚ w rozdziale 10.
                                          TestujÈc film w rodowisku edycyjnym
                                          Flasha, mo esz odczytaÊ informacje                „ Gdy plik MP3 zawiera znaczniki ID3v1
                                          pochodzÈce ze znaczników ID3 w oknie                i ID3v2, zdarzenie Event.ID3 zostanie
                                          Wyj cie (rysunek 8.32).                              zgïoszone dwa razy.
                                                                                            „ Aby zobaczyÊ znaczniki ID3 plików MP3
                                                                                               poza Flashem, wykonaj nastÚpujÈce
                                                                                               dziaïania:
                                                                                               W systemie Windows XP: kliknij prawym
                                                                                               przyciskiem myszy plik MP3. Wybierz
                                                                                               Wïa ciwo ci/Podsumowanie/Zaawansowane.
                                                                                               W systemie Mac OS X: w iTunes wybierz
                                                                                               z listy nazwÚ piosenki i naci nij klawisze
                                                                                               Command+I.
Znaczniki informacyjne plików MP3




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




                                                            Rysunek 8.32. Okno Wyj cie, wy wietlane
                                                            przy 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.

                                    334
Sterowanie d wiÚkiem


                                       Wizualizacja d wiÚku
                                       Prawdopodobnie widywaïe ju graficznÈ
                                       reprezentacjÚ d wiÚku w postaci fali lub
                                       wznoszÈ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Ècych
                                       siÚ, tÚczowych kolorów. Takie efekty mo na
                                       zobaczyÊ zarówno na wygaszaczach, jak i na
                                       pokazach laserowych typu „ wiatïo i d wiÚk”.
                                       Te efekty graficzne sÈ zawsze zwiÈzane z jakim
                                       okre lonym parametrem d wiÚku. Wraz ze
                                       zmianÈ d wiÚku zmienia siÚ równie obraz,
                                       co pozwala uzyskaÊ bezpo redniÈ, graficznÈ
                                       reprezentacjÚ tego, co sïyszymy. Ten typ
                                       wizualizacji jest dobrym uzupeïnieniem
Rysunek 8.33. Dwa prostokÈtne klipy    odtwarzanego d wiÚku, a w razie wystÈpienia
filmowe umieszczone na scenie: lewy    problemów technicznych stanowi te u ytecznÈ
o nazwie barleft_mc i prawy o nazwie   informacjÚ; dziÚki niemu dowiadujemy siÚ,
barright_mc. Punkty zaczepienia tych   czy w danym czasie jest odtwarzany jaki d wiÚk.
obiektów sÈ wyrównane do ich dolnej
                                       WizualizacjÚ d wiÚku, mo e nieco prostszÈ
krawÚdzi
                                       od opisanych, mo esz z powodzeniem wykonaÊ
                                       sam we Flashu. Klasa SoundChannel wyposa ona
                                       jest w dwie wïasno ci, leftPeak oraz rightPeak,
                                       które przechowujÈ informacjÚ na temat gïo no ci
                                       d wiÚku w lewym i prawym kanale w ka dej chwili
                                       odtwarzania. PobierajÈc te dane dostatecznie
                                       czÚsto, na przykïad za pomocÈ zdarzenia
                                       Event.ENTER_FRAME lub obiektu Timer, mo esz




                                                                                          Wizualizacja d wiÚku
                                       wykonaÊ na ich podstawie wizualizacjÚ. Mo esz
                                       na przykïad skalowaÊ pionowe paski odpowiednio
                                       do natÚ enia d wiÚku w ka dym kanale.
                                       W kolejnym Êwiczeniu zaïadujemy i odtworzymy
                                       zewnÚtrzny plik MP3, a pobrane warto ci
                                       wïasno ci leftPeak oraz rightPeak przypiszemy
                                       do wïasno ci scaleY dwóch prostokÈtnych klipów
                                       filmowych.

                                       Aby wykonaÊ wizualizacjÚ natÚ enia d wiÚku
                                       w lewym i prawym kanale:
                                        1. Utwórz klip filmowy z pionowym prostokÈtem,
                                          umieszczajÈc punkt zaczepienia na dolnej
                                          krawÚdzi tego prostokÈta. Umie Ê na scenie
                                          dwa egzemplarze tego klipu. Ka demu z nich
                                          nadaj indywidualnÈ nazwÚ w panelu
                                          Wïa ciwo ci (rysunek 8.33).
                                          Te dwa pionowe paski bÚdÈ zmieniaÊ swÈ
                                          wysoko Ê tak, by odzwierciedlaïo to zmiany
                                          natÚ enia d wiÚku w ka dym z kanaïów.


                                                                                    335
Rozdziaï 8.


                        2. Jak w poprzednich Êwiczeniach, w panelu
                           Operacje utwórz obiekt URLRequest za pomocÈ
                           konstruktora new URLRequest(), podajÈc jako
                          parametr cie kÚ adresowÈ pliku MP3.
                        3. Zadeklaruj i zainicjalizuj obiekt Sound
                           za pomocÈ konstruktora new Sound().
                        4. Wpisz nazwÚ obiektu Sound, kropkÚ i metodÚ
                           load(). Podaj nazwÚ obiektu URLRequest jako
                          jej parametr.
                          Flash ïaduje zewnÚtrzny plik MP3, zgodnie
                          ze cie kÈ podanÈ w obiekcie URLRequest.
                        5. Wywoïaj metodÚ play() dla obiektu Sound
                          i przypisz zwróconÈ warto Ê do nowej
                          zmiennej typu SoundChannel:
                             var myChannel:SoundChannel=
                             ´mySound.play();

                          Flash odtwarza d wiÚk i tworzy powiÈzany
                          z tym d wiÚkiem obiekt SoundChannel
                          (rysunek 8.34).
Wizualizacja d wiÚku




                                             Rysunek 8.34. Odtwarzany jest zewnÚtrzny plik MP3, zwany
                                             music.mp3




                                             Rysunek 8.35. Zdarzenie Event.ENTER_FRAME wywoïuje
                                             regularne skalowanie obu prostokÈtnych klipów, odpowiednio
                                             do bie Ècych warto ci wïasno ci leftPeak i rightPeak obiektu
                                             Sound




                       336
Sterowanie d wiÚkiem


                                                 6. Dodaj do sceny odbiornik zdarzeñ (event
                                                   listener), wykrywajÈcy zdarzenie
                                                   Event.ENTER_FRAME:
                                                     stage.addEventLIstener
                                                     ´(Event.ENTER_FRAME, everyframe);

                                                   Flash wywoïuje funkcjÚ everyframe („ka da
                                                   klatka”) z czÚstotliwo ciÈ wyznaczonÈ przez
                                                   prÚdko Ê odtwarzania filmu.
                                                 7. Utwórz funkcjÚ wywoïywanÈ w odpowiedzi
                                                    na zdarzenie Event.ENTER_FRAME.
                                                 8. W nawiasach klamrowych funkcji umie Ê
                                                   polecenia, które zmieniÈ wyglÈd klipów
Rysunek 8.36. Dwa prostokÈtne klipy zwiÚkszajÈ
                                                   filmowych, tak jak w poni szym przykïadzie
i zmniejszajÈ swÈ wysoko Ê w sposób
                                                   (rysunek 8.35):
zsynchronizowany z d wiÚkiem
                                                     everyframe(event:Event):void{
                                                         barleft_mc.scaleY=
                                                         ´(myChannel.leftPeak);
                                                         barright_mc.scaleY=
                                                         ´(myChannel.rightPeak);
                                                     }

                                                   Warto ci liczbowe wïasno ci leftPeak
                                                   i rightPeak zmieniajÈ siÚ w zakresie od 0 do 1.
                                                   Po przypisaniu tych warto ci do wïasno ci
                                                   scaleY klipów filmowych tak samo zmienia
                                                   siÚ teraz wspóïczynnik pionowego skalowania
                                                   prostokÈtów.
                                                 9. Upewnij siÚ, e zewnÚtrzny plik MP3 znajduje




                                                                                                      Wizualizacja d wiÚku
                                                   siÚ w miejscu, w którym film Flasha mo e go
                                                   odnale Ê, na podstawie informacji zawartej
                                                   w obiekcie URLRequest. Przetestuj film
                                                   (Sterowanie/Testuj film; rysunek 8.36).

                                                 Wskazówka
                                                 „ Flash przewiduje tak e bardziej skomplikowany
                                                   sposób obrazowania danych d wiÚkowych;
                                                   sïu y do tego klasa computeSpectrum() klasy
                                                   SoundMixer. Metoda ta zwraca dane na temat
                                                   czÚstotliwo ci fali, uzyskane z pomiaru
                                                   wysoko ci tonów (niskie zakresy czÚstotliwo ci
                                                   odpowiadajÈ niskim tonom, a wysokie
                                                    wysokim). WiÚcej informacji na ten temat
                                                   znajdziesz w pomocy Flasha. Patrz: Help/
                                                   Programming ActionScript 3.0/Working with
                                                   Sound/Accessing raw sound data.




                                                                                                337
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

More Related Content

What's hot

Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Wydawnictwo Helion
 
Java. Tworzenie gier
Java. Tworzenie gierJava. Tworzenie gier
Java. Tworzenie gier
Wydawnictwo Helion
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
Wydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Wydawnictwo Helion
 
Flash MX 2004. Tworzenie gier
Flash MX 2004. Tworzenie gierFlash MX 2004. Tworzenie gier
Flash MX 2004. Tworzenie gier
Wydawnictwo Helion
 
Adobe Premiere Pro. Szybki start
Adobe Premiere Pro. Szybki startAdobe Premiere Pro. Szybki start
Adobe Premiere Pro. Szybki start
Wydawnictwo Helion
 
Uczta programistów
Uczta programistówUczta programistów
Uczta programistów
Wydawnictwo Helion
 
Biblia Q3
Biblia Q3Biblia Q3
Biblia Q3
ontheteam
 
CorelDraw X3 PL. Kurs
CorelDraw X3 PL. KursCorelDraw X3 PL. Kurs
CorelDraw X3 PL. Kurs
Wydawnictwo Helion
 
Flash 8. Klatka po klatce
Flash 8. Klatka po klatceFlash 8. Klatka po klatce
Flash 8. Klatka po klatce
Wydawnictwo Helion
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
Wydawnictwo Helion
 
Windows XP PL. Ilustrowany przewodnik
Windows XP PL. Ilustrowany przewodnikWindows XP PL. Ilustrowany przewodnik
Windows XP PL. Ilustrowany przewodnik
Wydawnictwo Helion
 
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowychTworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
Wydawnictwo Helion
 
Asembler. Sztuka programowania
Asembler. Sztuka programowaniaAsembler. Sztuka programowania
Asembler. Sztuka programowania
Wydawnictwo Helion
 
Po prostu Windows Vista PL. Wydanie II
Po prostu Windows Vista PL. Wydanie IIPo prostu Windows Vista PL. Wydanie II
Po prostu Windows Vista PL. Wydanie II
Wydawnictwo Helion
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
Wydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
Wydawnictwo Helion
 
Praktyczny kurs asemblera
Praktyczny kurs asembleraPraktyczny kurs asemblera
Praktyczny kurs asemblera
Wydawnictwo Helion
 
Java. Współbieżność dla praktyków
Java. Współbieżność dla praktykówJava. Współbieżność dla praktyków
Java. Współbieżność dla praktyków
Wydawnictwo Helion
 

What's hot (19)

Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Java. Tworzenie gier
Java. Tworzenie gierJava. Tworzenie gier
Java. Tworzenie gier
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Flash MX 2004. Tworzenie gier
Flash MX 2004. Tworzenie gierFlash MX 2004. Tworzenie gier
Flash MX 2004. Tworzenie gier
 
Adobe Premiere Pro. Szybki start
Adobe Premiere Pro. Szybki startAdobe Premiere Pro. Szybki start
Adobe Premiere Pro. Szybki start
 
Uczta programistów
Uczta programistówUczta programistów
Uczta programistów
 
Biblia Q3
Biblia Q3Biblia Q3
Biblia Q3
 
CorelDraw X3 PL. Kurs
CorelDraw X3 PL. KursCorelDraw X3 PL. Kurs
CorelDraw X3 PL. Kurs
 
Flash 8. Klatka po klatce
Flash 8. Klatka po klatceFlash 8. Klatka po klatce
Flash 8. Klatka po klatce
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Windows XP PL. Ilustrowany przewodnik
Windows XP PL. Ilustrowany przewodnikWindows XP PL. Ilustrowany przewodnik
Windows XP PL. Ilustrowany przewodnik
 
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowychTworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
 
Asembler. Sztuka programowania
Asembler. Sztuka programowaniaAsembler. Sztuka programowania
Asembler. Sztuka programowania
 
Po prostu Windows Vista PL. Wydanie II
Po prostu Windows Vista PL. Wydanie IIPo prostu Windows Vista PL. Wydanie II
Po prostu Windows Vista PL. Wydanie II
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
Praktyczny kurs asemblera
Praktyczny kurs asembleraPraktyczny kurs asemblera
Praktyczny kurs asemblera
 
Java. Współbieżność dla praktyków
Java. Współbieżność dla praktykówJava. Współbieżność dla praktyków
Java. Współbieżność dla praktyków
 

Viewers also liked

Flash CS3 Professional PL. Klatka po klatce
Flash CS3 Professional PL. Klatka po klatceFlash CS3 Professional PL. Klatka po klatce
Flash CS3 Professional PL. Klatka po klatce
Wydawnictwo Helion
 
Mac OS X Tiger. Skuteczne rozwiązania
Mac OS X Tiger. Skuteczne rozwiązaniaMac OS X Tiger. Skuteczne rozwiązania
Mac OS X Tiger. Skuteczne rozwiązania
Wydawnictwo Helion
 
Adobe Flash CS3 Professional. Oficjalny podręcznik
Adobe Flash CS3 Professional. Oficjalny podręcznikAdobe Flash CS3 Professional. Oficjalny podręcznik
Adobe Flash CS3 Professional. Oficjalny podręcznik
Wydawnictwo Helion
 
Excel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBAExcel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBA
Wydawnictwo Helion
 
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznikAdobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
Wydawnictwo Helion
 
Eclipse Web Tools Platform. Tworzenie aplikacji WWW w języku Java
Eclipse Web Tools Platform. Tworzenie aplikacji WWW w języku JavaEclipse Web Tools Platform. Tworzenie aplikacji WWW w języku Java
Eclipse Web Tools Platform. Tworzenie aplikacji WWW w języku Java
Wydawnictwo Helion
 
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyceKompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Wydawnictwo Helion
 
Sieci VPN. Zdalna praca i bezpieczeństwo danych
Sieci VPN. Zdalna praca i bezpieczeństwo danychSieci VPN. Zdalna praca i bezpieczeństwo danych
Sieci VPN. Zdalna praca i bezpieczeństwo danych
Wydawnictwo Helion
 
Total Commander. Leksykon kieszonkowy
Total Commander. Leksykon kieszonkowyTotal Commander. Leksykon kieszonkowy
Total Commander. Leksykon kieszonkowy
Wydawnictwo Helion
 
ABC MS Office 2007 PL
ABC MS Office 2007 PLABC MS Office 2007 PL
ABC MS Office 2007 PL
Wydawnictwo Helion
 
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektamiMS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
Wydawnictwo Helion
 
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
Wydawnictwo Helion
 

Viewers also liked (12)

Flash CS3 Professional PL. Klatka po klatce
Flash CS3 Professional PL. Klatka po klatceFlash CS3 Professional PL. Klatka po klatce
Flash CS3 Professional PL. Klatka po klatce
 
Mac OS X Tiger. Skuteczne rozwiązania
Mac OS X Tiger. Skuteczne rozwiązaniaMac OS X Tiger. Skuteczne rozwiązania
Mac OS X Tiger. Skuteczne rozwiązania
 
Adobe Flash CS3 Professional. Oficjalny podręcznik
Adobe Flash CS3 Professional. Oficjalny podręcznikAdobe Flash CS3 Professional. Oficjalny podręcznik
Adobe Flash CS3 Professional. Oficjalny podręcznik
 
Excel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBAExcel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBA
 
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznikAdobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
 
Eclipse Web Tools Platform. Tworzenie aplikacji WWW w języku Java
Eclipse Web Tools Platform. Tworzenie aplikacji WWW w języku JavaEclipse Web Tools Platform. Tworzenie aplikacji WWW w języku Java
Eclipse Web Tools Platform. Tworzenie aplikacji WWW w języku Java
 
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyceKompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
 
Sieci VPN. Zdalna praca i bezpieczeństwo danych
Sieci VPN. Zdalna praca i bezpieczeństwo danychSieci VPN. Zdalna praca i bezpieczeństwo danych
Sieci VPN. Zdalna praca i bezpieczeństwo danych
 
Total Commander. Leksykon kieszonkowy
Total Commander. Leksykon kieszonkowyTotal Commander. Leksykon kieszonkowy
Total Commander. Leksykon kieszonkowy
 
ABC MS Office 2007 PL
ABC MS Office 2007 PLABC MS Office 2007 PL
ABC MS Office 2007 PL
 
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektamiMS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
 
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danychPHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
PHP, Microsoft IIS i SQL Server. Projektowanie i programowanie baz danych
 

Similar to Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

Po prostu Flash MX
Po prostu Flash MXPo prostu Flash MX
Po prostu Flash MX
Wydawnictwo Helion
 
Po prostu Flash MX
Po prostu Flash MXPo prostu Flash MX
Po prostu Flash MX
Wydawnictwo Helion
 
Flash MX 2004 ActionScript. Ćwiczenia praktyczne
Flash MX 2004 ActionScript. Ćwiczenia praktyczneFlash MX 2004 ActionScript. Ćwiczenia praktyczne
Flash MX 2004 ActionScript. Ćwiczenia praktyczne
Wydawnictwo Helion
 
Po prostu JavaScript i Ajax. Wydanie VI
Po prostu JavaScript i Ajax. Wydanie VIPo prostu JavaScript i Ajax. Wydanie VI
Po prostu JavaScript i Ajax. Wydanie VI
Wydawnictwo Helion
 
Macromedia Flash 8 ActionScript. Oficjalny podręcznik
Macromedia Flash 8 ActionScript. Oficjalny podręcznikMacromedia Flash 8 ActionScript. Oficjalny podręcznik
Macromedia Flash 8 ActionScript. Oficjalny podręcznik
Wydawnictwo Helion
 
Director MX. Szybki start
Director MX. Szybki startDirector MX. Szybki start
Director MX. Szybki start
Wydawnictwo Helion
 
ActionScript 2.0. Od podstaw
ActionScript 2.0. Od podstawActionScript 2.0. Od podstaw
ActionScript 2.0. Od podstaw
Wydawnictwo Helion
 
Flash MX. ActionScript. Leksykon kieszonkowy
Flash MX. ActionScript. Leksykon kieszonkowyFlash MX. ActionScript. Leksykon kieszonkowy
Flash MX. ActionScript. Leksykon kieszonkowy
Wydawnictwo Helion
 
IrfanView
IrfanViewIrfanView
IrfanView
IrfanViewIrfanView
IrfanView
IrfanViewIrfanView
Po prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowanePo prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowane
Wydawnictwo Helion
 
Adobe Illustrator 10. Ćwiczenia
Adobe Illustrator 10. ĆwiczeniaAdobe Illustrator 10. Ćwiczenia
Adobe Illustrator 10. Ćwiczenia
Wydawnictwo Helion
 
Flash MX. Vademecum profesjonalisty
Flash MX. Vademecum profesjonalistyFlash MX. Vademecum profesjonalisty
Flash MX. Vademecum profesjonalisty
Wydawnictwo Helion
 
Po prostu 3ds max 5
Po prostu 3ds max 5Po prostu 3ds max 5
Po prostu 3ds max 5
Wydawnictwo Helion
 
Java. Techniki zaawansowane. Wydanie VIII
Java. Techniki zaawansowane. Wydanie VIIIJava. Techniki zaawansowane. Wydanie VIII
Java. Techniki zaawansowane. Wydanie VIII
Wydawnictwo Helion
 
ActionScript. Przewodnik encyklopedyczny
ActionScript. Przewodnik encyklopedycznyActionScript. Przewodnik encyklopedyczny
ActionScript. Przewodnik encyklopedyczny
Wydawnictwo Helion
 
Photoshop CS2/CS2 PL. Prosto do celu
Photoshop CS2/CS2 PL. Prosto do celuPhotoshop CS2/CS2 PL. Prosto do celu
Photoshop CS2/CS2 PL. Prosto do celu
Wydawnictwo Helion
 
Programowanie w języku C. Szybki start
Programowanie w języku C. Szybki startProgramowanie w języku C. Szybki start
Programowanie w języku C. Szybki start
Wydawnictwo Helion
 
Visual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programistyVisual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programisty
Wydawnictwo Helion
 

Similar to Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce (20)

Po prostu Flash MX
Po prostu Flash MXPo prostu Flash MX
Po prostu Flash MX
 
Po prostu Flash MX
Po prostu Flash MXPo prostu Flash MX
Po prostu Flash MX
 
Flash MX 2004 ActionScript. Ćwiczenia praktyczne
Flash MX 2004 ActionScript. Ćwiczenia praktyczneFlash MX 2004 ActionScript. Ćwiczenia praktyczne
Flash MX 2004 ActionScript. Ćwiczenia praktyczne
 
Po prostu JavaScript i Ajax. Wydanie VI
Po prostu JavaScript i Ajax. Wydanie VIPo prostu JavaScript i Ajax. Wydanie VI
Po prostu JavaScript i Ajax. Wydanie VI
 
Macromedia Flash 8 ActionScript. Oficjalny podręcznik
Macromedia Flash 8 ActionScript. Oficjalny podręcznikMacromedia Flash 8 ActionScript. Oficjalny podręcznik
Macromedia Flash 8 ActionScript. Oficjalny podręcznik
 
Director MX. Szybki start
Director MX. Szybki startDirector MX. Szybki start
Director MX. Szybki start
 
ActionScript 2.0. Od podstaw
ActionScript 2.0. Od podstawActionScript 2.0. Od podstaw
ActionScript 2.0. Od podstaw
 
Flash MX. ActionScript. Leksykon kieszonkowy
Flash MX. ActionScript. Leksykon kieszonkowyFlash MX. ActionScript. Leksykon kieszonkowy
Flash MX. ActionScript. Leksykon kieszonkowy
 
IrfanView
IrfanViewIrfanView
IrfanView
 
IrfanView
IrfanViewIrfanView
IrfanView
 
IrfanView
IrfanViewIrfanView
IrfanView
 
Po prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowanePo prostu PHP. Techniki zaawansowane
Po prostu PHP. Techniki zaawansowane
 
Adobe Illustrator 10. Ćwiczenia
Adobe Illustrator 10. ĆwiczeniaAdobe Illustrator 10. Ćwiczenia
Adobe Illustrator 10. Ćwiczenia
 
Flash MX. Vademecum profesjonalisty
Flash MX. Vademecum profesjonalistyFlash MX. Vademecum profesjonalisty
Flash MX. Vademecum profesjonalisty
 
Po prostu 3ds max 5
Po prostu 3ds max 5Po prostu 3ds max 5
Po prostu 3ds max 5
 
Java. Techniki zaawansowane. Wydanie VIII
Java. Techniki zaawansowane. Wydanie VIIIJava. Techniki zaawansowane. Wydanie VIII
Java. Techniki zaawansowane. Wydanie VIII
 
ActionScript. Przewodnik encyklopedyczny
ActionScript. Przewodnik encyklopedycznyActionScript. Przewodnik encyklopedyczny
ActionScript. Przewodnik encyklopedyczny
 
Photoshop CS2/CS2 PL. Prosto do celu
Photoshop CS2/CS2 PL. Prosto do celuPhotoshop CS2/CS2 PL. Prosto do celu
Photoshop CS2/CS2 PL. Prosto do celu
 
Programowanie w języku C. Szybki start
Programowanie w języku C. Szybki startProgramowanie w języku C. Szybki start
Programowanie w języku C. Szybki start
 
Visual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programistyVisual Basic 2008. Warsztat programisty
Visual Basic 2008. Warsztat programisty
 

More from Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
Wydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
Wydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Wydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
Wydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
Wydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
Wydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
Wydawnictwo Helion
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
Wydawnictwo Helion
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
Wydawnictwo Helion
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
Wydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
Wydawnictwo Helion
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
Wydawnictwo Helion
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
Wydawnictwo Helion
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
Wydawnictwo Helion
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanie
Wydawnictwo Helion
 
USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++
Wydawnictwo Helion
 
Microsoft Visual Studio 2008. Księga eksperta
Microsoft Visual Studio 2008. Księga ekspertaMicrosoft Visual Studio 2008. Księga eksperta
Microsoft Visual Studio 2008. Księga eksperta
Wydawnictwo Helion
 
Rewizor GT. Prowadzenie ewidencji księgowej
Rewizor GT. Prowadzenie ewidencji księgowejRewizor GT. Prowadzenie ewidencji księgowej
Rewizor GT. Prowadzenie ewidencji księgowej
Wydawnictwo Helion
 
Fotografia cyfrowa. Poradnik bez kantów
Fotografia cyfrowa. Poradnik bez kantówFotografia cyfrowa. Poradnik bez kantów
Fotografia cyfrowa. Poradnik bez kantów
Wydawnictwo Helion
 
Windows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczne
Windows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczneWindows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczne
Windows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczne
Wydawnictwo Helion
 

More from Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 
Serwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanieSerwer SQL 2008. Administracja i programowanie
Serwer SQL 2008. Administracja i programowanie
 
USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++USB. Praktyczne programowanie z Windows API w C++
USB. Praktyczne programowanie z Windows API w C++
 
Microsoft Visual Studio 2008. Księga eksperta
Microsoft Visual Studio 2008. Księga ekspertaMicrosoft Visual Studio 2008. Księga eksperta
Microsoft Visual Studio 2008. Księga eksperta
 
Rewizor GT. Prowadzenie ewidencji księgowej
Rewizor GT. Prowadzenie ewidencji księgowejRewizor GT. Prowadzenie ewidencji księgowej
Rewizor GT. Prowadzenie ewidencji księgowej
 
Fotografia cyfrowa. Poradnik bez kantów
Fotografia cyfrowa. Poradnik bez kantówFotografia cyfrowa. Poradnik bez kantów
Fotografia cyfrowa. Poradnik bez kantów
 
Windows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczne
Windows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczneWindows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczne
Windows Vista. Naprawa i optymalizacja. Ćwiczenia praktyczne
 

Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce

  • 1. 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 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 Wydawnictwo Helion • Tworzenie funkcji ul. Koœciuszki 1c • Obs³uga zdarzeñ w animacji 44-100 Gliwice • Zarz¹dzanie listwami czasowymi tel. 032 230 98 63 • Tworzenie elementów nawigacyjnych e-mail: helion@helion.pl • 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!
  • 2. Spis tre ci Spis tre ci WstÚp 9 Czö è I Zaawansowane animacje 13 Rozdziaä 1. Tworzenie zïo onych projektów 15 Automatyczna animacja ruchu ................................................................................ 16 Automatyczna animacja ksztaïtu ............................................................................. 28 Efekty specjalne ...................................................................................................... 33 Animowane i zïo one maski .................................................................................... 38 Rozdziaä 2. Praca z wideo 49 Osadzanie plików wideo we Flashu ....................................................................... 50 ZewnÚtrzne pliki wideo; stopniowe pobieranie filmów w trakcie odtwarzania ...... 59 Spis tre ci Rotoskopia ............................................................................................................... 65 Czö è II Interaktywno Ê 67 Rozdziaä 3. Posïugiwanie siÚ jÚzykiem ActionScript 69 Co kryje nazwa ActionScript 3.0? .......................................................................... 70 Obiekty i klasy ......................................................................................................... 71 Metody i wïa ciwo ci .............................................................................................. 72 U ywanie notacji kropkowej ................................................................................... 73 WiÚcej na temat interpunkcji ................................................................................. 75 Panel Operacje ........................................................................................................ 76 Edycja kodu ActionScript ....................................................................................... 85 U ywanie obiektów ................................................................................................. 88 Funkcje .................................................................................................................... 97 Stosowanie komentarzy ......................................................................................... 101 Rozdziaä 4. WiÚcej o przyciskach i obsïudze zdarzeñ 103 Odbieranie zdarzeñ ............................................................................................... 104 Obsïuga myszy ....................................................................................................... 106 Klasa SimpleButton ............................................................................................... 110 Niewidoczne przyciski .......................................................................................... 114 Animowane przyciski a klipy filmowe .................................................................. 116 Zïo one przyciski ................................................................................................... 119 Mo liwo ci ledzenia przycisków ......................................................................... 123 Zmiana zachowania przycisku .............................................................................. 126 5
  • 3. Spis tre ci Dynamiczne tworzenie przycisków ......................................................................... 129 Obsïuga klawiatury ................................................................................................ 131 Menu podrÚczne ................................................................................................... 134 Tworzenie powtarzajÈcych siÚ akcji ..................................................................... 140 Obiekt Timer ......................................................................................................... 141 Podsumowanie zdarzeñ ........................................................................................ 144 Rozdziaä 5. Praca z wieloma listwami czasowymi 145 Nawigowanie listwami czasowymi klipów filmowych ........................................ 146 ¥cie ki adresowe ................................................................................................... 147 BezwzglÚdne i wzglÚdne cie ki adresowe ......................................................... 151 U ywanie akcji with do adresowania klipów filmowych ..................................... 153 Klipy filmowe jako kontenery ............................................................................... 155 Etykiety ujÚÊ .......................................................................................................... 159 Rozdziaä 6. ZarzÈdzanie komunikacjÈ zewnÚtrznÈ 163 Komunikowanie siÚ przez przeglÈdarkÚ internetowÈ ......................................... 164 ’adowanie zewnÚtrznych filmów Flasha ............................................................. 180 Kontrolowanie zaïadowanych filmów Flasha ...................................................... 185 ’adowanie zewnÚtrznych obrazów ...................................................................... 190 Spis tre ci Komunikacja z zewnÚtrznym wideo .................................................................... 193 Stosowanie projektorów i akcji fscommand ......................................................... 200 Komunikowanie siÚ z drukarkÈ ............................................................................ 203 Wykrywanie pobierania danych z sieci — wska niki postÚpu ïadowania ......... 212 Czö è III Sterowanie grafikÈ i d wiÚkiem 221 Rozdziaä 7. Sterowanie grafikÈ 223 Lista wy wietlania ................................................................................................. 224 Zmiana wïasno ci obiektu graficznego ................................................................. 225 Skalowanie i znieksztaïcanie obiektów ................................................................ 232 Zmiana koloru ........................................................................................................ 236 Mieszanie kolorów ................................................................................................ 242 U ycie filtrów do tworzenia efektów specjalnych ............................................... 245 PrzeciÈganie i upuszczanie obiektów ................................................................... 248 Wykrywanie kolizji obiektów ............................................................................... 252 Dynamiczne tworzenie obiektów ........................................................................... 255 Kontrolowanie kolejno ci nakïadania obiektów .................................................. 258 Dynamiczne tworzenie ksztaïtów ......................................................................... 261 Dynamiczne maski ................................................................................................ 278 Dostosowanie wyglÈdu wska nika myszy ............................................................ 284 Podstawy animacji za pomocÈ jÚzyka ActionScript ............................................. 286 Obrazy bitmapowe ................................................................................................ 291 Tworzenie bitmap i dostÚp do nich ...................................................................... 292 6
  • 4. Spis tre ci Edycja bitmap ........................................................................................................ 298 U ywanie filtrów do modyfikacji bitmap ............................................................. 308 Animowanie bitmap .............................................................................................. 311 Rozdziaä 8. Sterowanie d wiÚkiem 315 Wprowadzanie d wiÚków ..................................................................................... 316 Odtwarzanie d wiÚków z biblioteki ..................................................................... 317 Wczytywanie i odtwarzanie zewnÚtrznych d wiÚków ........................................ 319 Sterowanie odtwarzaniem d wiÚków ................................................................... 321 Modyfikacja natÚ enia i balansu d wiÚku ............................................................ 325 Wykrywanie zdarzeñ d wiÚku .............................................................................. 330 Wykorzystanie znaczników informacyjnych plików MP3 .................................. 332 Wizualizacja d wiÚku ............................................................................................ 335 Tworzenie dynamicznego sterowania d wiÚkiem ............................................... 338 Czö è IV Przetwarzanie informacji 343 Rozdziaä 9. Sterowanie przepïywem informacji 345 Zmienne i wyra enia ............................................................................................. 346 Wczytywanie zewnÚtrznych zmiennych .............................................................. 350 Spis tre ci Przechowywanie i wspóïdzielenie informacji ...................................................... 359 Modyfikacja zmiennych ........................................................................................ 365 Dynamiczne generowanie nazw zmiennych za pomocÈ wyra eñ ...................... 367 Testowanie informacji za pomocÈ instrukcji warunkowych ................................. 369 Alternatywa dla instrukcji warunkowej ................................................................ 374 RozgaïÚzione instrukcje warunkowe .................................................................... 376 ’Èczenie warunków z operatorami logicznymi ................................................... 380 PÚtle ....................................................................................................................... 382 Rozdziaä 10. Tekst 387 Wej ciowe pole tekstowe ...................................................................................... 388 Dynamiczne pole tekstowe ................................................................................... 390 Opcje pól tekstowych ............................................................................................ 392 Wy wietlanie tekstu w formacie HTML .............................................................. 395 Wïa ciwo ci klasy TextField ................................................................................. 400 Dynamiczne generowanie pól tekstowych .......................................................... 410 Edycja tekstu w polach tekstowych ..................................................................... 412 Formatowanie pól tekstowych z wykorzystaniem zewnÚtrznych arkuszy stylów ..................................................................................................... 422 Wykrywanie aktywnego pola tekstowego ............................................................ 426 Uaktywnianie pól tekstowych i zaznaczanie tekstu w polach tekstowych ......... 429 Analiza tekstu ......................................................................................................... 431 Aran acja tekstów .................................................................................................. 441 7
  • 5. Spis tre ci Rozdziaä 11. Przetwarzanie informacji 445 Obliczenia przy u yciu klasy Math ...................................................................... 446 Wyliczanie kÈtów .................................................................................................. 447 Tworzenie ukierunkowanego ruchu ..................................................................... 456 Obliczanie odlegïo ci ............................................................................................ 460 Generowanie liczb losowych ................................................................................ 462 Przechowywanie informacji w tablicach .............................................................. 463 Obsïuga obiektów umieszczonych w tablicy ....................................................... 470 Data i czas .............................................................................................................. 475 Rozdziaä 12. ZarzÈdzanie zawarto ciÈ i usuwanie bïÚdów 483 Wspóïdzielenie symboli z biblioteki .................................................................... 484 Wspóïdzielenie czcionek ...................................................................................... 491 DoïÈczanie zewnÚtrznego kodu ActionScript ..................................................... 494 Panel Eksplorator filmu ........................................................................................ 497 ¥ledzenie zmiennych w panelu Wyj cie .............................................................. 501 Okre lanie typu zmiennej ..................................................................................... 503 Optymalizacja filmu .............................................................................................. 504 Unikanie typowych bïÚdów .................................................................................. 508 Spis tre ci Dodatek A Klawisze i odpowiadajÈce im kody 509 Skorowidz 511 8
  • 6. Sterowanie d wiÚkiem Rozdziaá 8. Sterowanie d wi kiem 8 Wprowadzenie d wiÚku do filmu Flasha wzbogaca dowolnÈ animacjÚ lub nawet najprostszy projekt interaktywny, poniewa anga uje siÚ wiÚcej zmysïów u ytkownika. Muzyka odtwarzana w tle wprowadza w odpowiedni nastrój, narracja uïatwia opowiedzenie historyjki, a d wiÚki odtwarzanie na przykïad po klikniÚciu przycisku lub przy przeciÈganiu obiektów po scenie dostarczajÈ dodatkowych informacji. Flash obsïuguje kilka formatów zapisu d wiÚku, przede wszystkim formaty WAV, AIF i MP3. PozwalajÈ one korzystaÊ z bardzo szerokiego spektrum d wiÚków. Dodatkowo Flash potrafi dynamicznie ïadowaÊ zewnÚtrzne pliki MP3 w trakcie odtwarzania filmu, co pozwala bez trudu tworzyÊ filmy zawierajÈ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 przy u yciu klasy Sound odtwarzaÊ d wiÚki z biblioteki bez potrzeby umieszczania ich w klatkach kluczowych. Nauczysz siÚ obsïugiwaÊ d wiÚki znajdujÈce siÚ w zewnÚtrznych plikach, 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ïania u ytkownika lub animacjÚ. Dowiesz siÚ równie , w jaki sposób wykorzystaÊ wïa ciwo ci i zdarzenia klasy Sound, by zapewniÊ synchronizacjÚ d wiÚku z animacjÈ lub z innymi d wiÚkami. Sterowanie d wiÚkiem Wszystkie te narzÚdzia sïu È do tego, by zapewniÊ elastyczny i skuteczny system integracji d 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 wykonaÊ pokaz slajdów zsynchronizowany z muzykÈ, a nawet wïasny odtwarzacz plików MP3. 315
  • 7. Rozdziaï 8. Wprowadzanie d wiÚków Jest kilka sposobów doïÈczania d wiÚków do filmu Flasha. Najprostszym z nich jest zaimportowanie d wiÚku i rÚczne umieszczenie go w klatce kluczowej. Na listwie czasowej wy wietlana jest Rysunek 8.1. Umieszczenie d wiÚku w klatce wtedy graficzna reprezentacja fali d wiÚkowej, kluczowej na listwie czasowej to najprostszy która pomaga siÚ nam zorientowaÊ, kiedy d wiÚk sposób doïÈczenia d wiÚku do filmu, zaczyna byÊ odtwarzany, a kiedy siÚ koñczy niewymagajÈcy u ycia ActionScript (rysunek 8.1). Drugi sposób to zaimportowaÊ d wiÚk i odtworzyÊ go dynamicznie w trakcie trwania filmu. Dopóki nie zarzÈdzisz odtworzenia takiego d wiÚku za pomocÈ ActionScript, pozostaje on w bibliotece (rysunek 8.2). Trzeci sposób polega na dynamicznym zaïadowaniu i odtworzeniu d wiÚku zapisanego w pliku zewnÚtrznym (rysunek 8.3). Ten rozdziaï jest po wiÚcony drugiej i trzeciej z wymienionych metod. OdtwarzajÈc d wiÚk dynamicznie, mo emy sterowaÊ momentem jego pojawienia siÚ i gïo no ciÈ (tak e oddzielnie dla lewego i prawego gïo nika) oraz pobieraÊ informacje na temat postÚpu ïadowania lub postÚpu odtwarzania plików d wiÚkowych. Ka dy d wiÚk odtwarzany z poziomu ActionScript wymaga utworzenia dla niego egzemplarza klasy Sound. MajÈc taki egzemplarz, mo emy zastosowaÊ dla niego metodÚ play(), by odtworzyÊ Wprowadzanie d wiÚków d wiÚk. W trakcie powstaje egzemplarz klasy SoundChannel, wyposa ony we wïasno ci, dziÚki którym mo emy sterowaÊ d wiÚkiem. JednÈ z tych wïasno ci jest obiekt SoundTransform, który pozwala kontrolowaÊ globalne natÚ enie d wiÚku Rysunek 8.2. D wiÚki zaimportowane do biblioteki oraz jego balans, czyli rozkïad gïo no ci na prawy mogÈ byÊ odtwarzane w trakcie odtwarzania filmu i lewy gïo nik. tak e bez umieszczania ich na listwie czasowej, je li u yjemy ActionScript Rysunek 8.3. Oddzielny plik d wiÚkowy MP3 mo e zostaÊ zaïadowany do filmu Flasha (SWF) i odtworzony za pomocÈ ActionScript 316
  • 8. Sterowanie d wiÚkiem Odtwarzanie d wiÚków Aby przygotowaÊ symbol d wiÚkowy z biblioteki do odtwarzania z ActionScript: z biblioteki 1. Zaimportuj do Flasha plik d wiÚkowy, Mo esz zaimportowaÊ wszystkie potrzebne wybierajÈc polecenie Plik/Importuj/Importuj d wiÚki do biblioteki podczas pracy do biblioteki i otwierajÈc plik d wiÚkowy. w rodowisku edycyjnym Flasha, a potem odtwarzaÊ je w odpowiednich momentach Wybrany plik d wiÚkowy pojawi siÚ w trakcie odgrywania filmu. Wymaga to jednak w bibliotece filmu. Masz do wyboru udostÚpnienia symboli d wiÚkowych z biblioteki nastÚpujÈce formaty pliku d wiÚkowego: rodowisku ActionScript. Robimy to tak samo, WAV (dla Windows) AIF (Mac OS) oraz MP3 jak w przypadku symboli graficznych. (Windows i Mac OS). WiÚcej formatów mo e W rozdziale 7. procedura ta zostaïa opisana byÊ dostÚpnych, gdy masz zainstalowany dla symboli klipów filmowych oraz symboli program QuickTime na swoim komputerze. bitmap. Polega to na utworzeniu nowej klasy 2. Zaznacz symbol d wiÚkowy w panelu dla symbolu, bÚdÈcej rozszerzeniem jednej Biblioteka. z ju istniejÈcych klas, dziÚki czemu mo emy tworzyÊ nowe egzemplarze danego symbolu 3. Z menu opcji panelu Biblioteka wybierz dynamicznie, za pomocÈ funkcji konstruktora. polecenie ’Èczenie (rysunek 8.4). W przypadku symboli d wiÚkowych bÚdziemy Pojawia siÚ okno dialogowe Wïa ciwo ci korzystaÊ z rozszerzeñ klasy Sound. NazwÚ poïÈczenia. tworzonej klasy mo na ustaliÊ w oknie Wïa ciwo ci poïÈczenia, po wybraniu 4. W polu ’Èczenie zaznacz opcjÚ Eksportuj polecenia ’Èczenie z menu opcji panelu dla ActionScript. Pozostaw wïÈczonÈ opcjÚ Biblioteka. Eksport w pierwszej klatce. 5. W polu tekstowym Klasa wpisz nazwÚ klasy. Odtwarzanie d wiÚków z biblioteki DziÚki tej nazwie bÚdziesz mógï zidentyfikowaÊ dany d wiÚk w ActionScript. W polu Klasa bazowa pozostaw klasÚ flash.media.Sound. Kliknij OK (rysunek 8.5). Rysunek 8.4. Wybierz polecenie ’Èczenie z menu Rysunek 8.5. Dla symbolu d wiÚkowego zostaïa opcji panelu Biblioteka dla ka dego symbolu utworzona nowa klasa GuitarLoop, dziedziczÈca d wiÚkowego, który chcesz kontrolowaÊ metody i wïasno ci klasy Sound z poziomu ActionScript 317
  • 9. Rozdziaï 8. 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 (rysunek 8.6). Kliknij OK. W naszym przykïadzie nazwa nowej klasy to GuitarLoop. Jest ona czÚ ciÈ istniejÈcej klasy Sound, a wiÚc dziedziczy wszystkie wïasno ci i metody klasy Sound. Nazwa nowej klasy bÚdzie wykorzystywana przy tworzeniu nowych egzemplarzy tego konkretnego d wiÚku Rysunek 8.6. Kliknij OK, by zamknÈÊ to okienko w ActionScript. Upewnij siÚ, e nazwa klasy nie ze zbÚdnym ostrze eniem. Informuje CiÚ ono, e zostanie utworzona nowa klasa zawiera kropek. Aby odtworzyÊ d wiÚk z biblioteki: 1. Kontynuuj pracÚ nad plikiem z poprzedniego Êwiczenia. Zaznacz pierwszÈ klatkÚ na gïównej Rysunek 8.7. Zostaje utworzony nowy egzemplarz listwie czasowej i otwórz panel Operacje. klasy GuitarLoop, o nazwie mySound („mój 2. W pierwszej linii utwórz nowy egzemplarz d wiÚk”). Egzemplarz ten mie ci w sobie d wiÚk swojego symbolu d wiÚkowego, posïugujÈc z biblioteki filmu. NastÚpnie metoda play() zostaje siÚ nazwÈ klasy, którÈ dla niego utworzyïe : u yta do odtworzenia tego d wiÚku var mySound:GuitarLoop = new ´GuitarLoop(); Zostaje utworzony nowy egzemplarz obiektu Sound, zawierajÈcy wybrany d wiÚk z biblioteki. Odtwarzanie d wiÚków z 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Úku odtwarzanie zostanie wstrzymane. Wskazówka „ Metoda play()odtwarza egzemplarz d wiÚku przy ka dym wywoïaniu, nawet gdy ten sam d 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 metody stopAll() klasy SoundMixer, zanim zarzÈdzisz powtórne odtworzenie d wiÚku. Ta technika gwarantuje, e d wiÚk ucichnie, zanim zacznie byÊ odtwarzany od poczÈtku. 318
  • 10. Sterowanie d wiÚkiem Wczytywanie i odtwarzanie zewnÚtrznych d wiÚków Za ka dym razem, gdy importujesz d wiÚk do biblioteki filmu, zwiÚksza siÚ rozmiar wynikowego pliku SWF. D wiÚki mogÈ zajmowaÊ bardzo du o miejsca, nawet w przypadku stosowania kompresji MP3, wiÚc warto zastanowiÊ siÚ nad przechowywaniem ich osobno. Najpro ciej mo na to zrobiÊ, umieszczajÈc ka dy d wiÚk w zewnÚtrznym pliku. Metoda load() wczytuje do filmu pliki MP3 (pozostaïe formaty nie sÈ dostÚpne). Takie podej cie umo liwia podmianÚ pliku d wiÚkowego bez potrzeby edycji dokumentu Flasha. Wyobra sobie, e podkïad muzyczny filmu zapisaïe w pliku audio1.mp3. Aby zmieniÊ muzykÚ na innÈ, wystarczy zastÈpiÊ plik audio1.mp3 innym plikiem, nadajÈc mu tÚ samÈ nazwÚ; Flash zacznie odtwarzaÊ nowy d wiÚk. Metoda load() wymaga podania tylko jednego parametru. Jest nim obiekt URLRequest, który zawiera cie kÚ dostÚpu do pliku MP3. Aby zaïadowaÊ i odtworzyÊ Wczytywanie i odtwarzanie d wiÚków zewnÚtrzny d wiÚk: 1. Zadeklaruj i zainicjalizuj obiekt URLRequest za pomocÈ funkcji konstruktora new URLRequest(). 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 przypadku jest to plik d wiÚkowy music.mp3, umieszczony w tym samym katalogu, w którym znajduje siÚ film Flasha 319
  • 11. Rozdziaï 8. ¥cie ka dostÚpu jest podawana w formie ciÈgu znaków, musisz wiÚc ujÈÊ jÈ w cudzysïów. Mo esz zaïadowaÊ plik MP3 z wïasnego dysku lub z internetu, u ywajÈc adresu bezwzglÚdnego. Je li plik MP3 znajduje siÚ w tym samym katalogu, w którym jest film Flasha, wystarczy podaÊ jego nazwÚ. 2. Zadeklaruj i zainicjalizuj obiekt Sound za pomocÈ funkcji konstruktora new Sound() (rysunek 8.9). 3. W kolejnej linii wpisz nazwÚ obiektu Sound, kropkÚ, a potem metodÚ load(). U yj obiektu URLRequest jako parametru tej metody. 4. W kolejnej linii wpisz nazwÚ swojego obiektu Sound, kropkÚ i metodÚ play(). Mo esz u yÊ dodatkowych parametrów (nie jest to obowiÈzkowe), by okre liÊ poczÈtek odtwarzania 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. Wczytywanie i odtwarzanie d wiÚków Zaraz po rozpoczÚciu odtwarzania filmu Flash odszukuje zewnÚtrzny plik MP3 za pomocÈ obiektu URLRequest, ïaduje go i odtwarza równolegle z filmem. Rysunek 8.9. W drugiej linii kodu tworzymy obiekt klasy Sound o nazwie mySound Rysunek 8.10. Metoda load() pobiera plik d wiÚkowy z miejsca wskazanego przez obiekt URLRequest, a metoda play() go odtwarza 320
  • 12. Sterowanie d wiÚkiem Sterowanie Je li w momencie wywoïywania metody play() nie przeka e siÚ adnych parametrów, Flash odtwarzaniem d wiÚków odtworzy d wiÚk jednokrotnie od samego poczÈtku. Metoda play() obiektu Sound przyjmuje trzy opcjonalne parametry. Pierwszy z nich Aby odtworzyÊ d wiÚk to parametr przesuniÚcia w czasie. Jest to liczba od wybranego punktu: oznaczajÈca, ile milisekund nagrania, liczÈc od poczÈtku trwania d wiÚku, zostanie X U yj dla metody play() obiektu Sound pominiÚtych. Odtwarzanie d wiÚku mo na pierwszego z jej parametrów, podajÈc rozpoczÈÊ od samego poczÈtku lub od dowolnego warto Ê wyra onÈ w milisekundach. pó niejszego punktu. Gdy d wiÚk trwa 20 sekund, D wiÚk bÚdzie odtwarzany od tego nic nie stoi na przeszkodzie, by rozpoczÈÊ punktu w czasie (liczÈc w milisekundach; odtwarzanie od jego rodka, czyli od 10. rysunek 8.11). sekundy; wystarczy u yÊ metody play(10000). Nie jest to opó nienie rozpoczÚcia odtwarzania Aby ustaliÊ liczbÚ powtórzeñ: o 10 sekund, ale natychmiastowe odtworzenie od 10. sekundy. X U yj dla metody play() obiektu Sound drugiego z jej parametrów, podajÈc liczbÚ Drugi parametr okre la liczbÚ odtworzeñ powtórzeñ. d wiÚku. Przekazanie warto ci 2 spowoduje odtworzenie d wiÚku dwukrotnie bez adnych D wiÚk bÚdzie odtwarzany tyle razy, ile sobie przerw miÚdzy kolejnymi uruchomieniami. za yczyïe (rysunek 8.12). Wielokrotne powtarzanie (zapÚtlenie) jest zwykle stosowane dla d wiÚków tak przygotowanych, Wskazówki by ich koniec pasowaï do poczÈtku, „ Niestety, nie istnieje sposób, by poinformowaÊ tak e moment przeskoku pomiÚdzy koñcem Sterowanie odtwarzaniem d wiÚków metodÚ play() o chÚci nieskoñczonego a poczÈtkiem nagrania jest niezauwa alny. zapÚtlenia d wiÚku. W takiej sytuacji jako Trzecim parametrem metody play() jest obiekt warto Ê parametru zapÚtlenia mo esz SoundTransform. Zapewnia on kontrolÚ nad przekazaÊ bardzo du È warto Ê, na przykïad ogólnÈ gïo no ciÈ d wiÚku oraz nad balansem 99999. gïo no ci pomiÚdzy lewym a prawym gïo nikiem. Obiekt SoundTransform zostanie dokïadniej opisany w dalszej czÚ ci rozdziaïu. Rysunek 8.11. W tym przykïadzie dla metody play() u yto parametru o warto ci 14000, co oznacza odtwarzanie d wiÚku od 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 d wiÚku od samego poczÈtku 321
  • 13. Rozdziaï 8. Wstrzymywanie odtwarzania d wiÚku Odtwarzanie d wiÚku mo na wstrzymaÊ, stosujÈc metodÚ klasy SoundChannel. Gdy wywoïujemy metodÚ play() klasy Sound, tworzony jest egzemplarz obiektu SoundChannel. Dla ka dego odtwarzanego d wiÚku jest jeden egzemplarz SoundChannel. Aby przypisaÊ egzemplarz SoundChannel do zmiennej i móc odnosiÊ siÚ pó niej do niego w ActionScript, u yj nastÚpujÈcej instrukcji: myChannel:SoundChannel= Rysunek 8.13. Ten egzemplarz przycisku ´mySound.play(); na scenie otrzymaï nazwÚ stopbutton_btn W tym przykïadzie odtwarzany jest d wiÚk doïÈczony do obiektu zwanego mySound. Zwrócony obiekt SoundChannel jest umieszczany w zmiennej o nazwie myChannel. Mo esz teraz wstrzymaÊ odtwarzanie d wiÚku, stosujÈc metodÚ stop() obiektu klasy SoundChannel: Rysunek 8.14. Gdy wywoïywana jest metoda play() obiektu Sound, zwraca ona obiekt myChannel.stop(); SoundChannel. Obiekt ten jest przypisywany do zmiennej myChannel Aby zatrzymaÊ odtwarzanie d wiÚku: 1. Kontynuuj pracÚ nad plikiem z Êwiczenia „Aby zaïadowaÊ i odtworzyÊ zewnÚtrzny Sterowanie odtwarzaniem d wiÚków d wiÚk”. 2. Utwórz nowy symbol przycisku, umie Ê jego egzemplarz na scenie i nadaj mu nazwÚ w panelu Wïa ciwo ci (rysunek 8.13). W naszym przykïadzie u yjemy funkcji obsïugujÈcej zdarzenie klikniÚcia tego przycisku, by wstrzymaÊ odtwarzanie d wiÚku. 3. Zaznacz pierwszÈ klatkÚ gïównej listwy czasowej 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 umieszcza obiekt SoundChannel, zwrócony przez metodÚ play(), w nowej zmiennej (typu SoundChannel) o nazwie myChannel (rysunek 8.14). 322
  • 14. Sterowanie d wiÚkiem 5. Utwórz funkcjÚ typu event handler, wykrywajÈcÈ klikniÚcie przycisku na scenie. 6. WewnÈtrz nawiasów klamrowych funkcji Rysunek 8.15. Funkcja obsïugujÈca zdarzenie wpisz nazwÚ obiektu SoundChannel, kropkÚ klikniÚcia przycisku stopbutton_btn na scenie. i metodÚ stop(), tak jak w poni szym Metoda stop(), która zatrzymuje odtwarzanie przykïadzie (rysunek 8.15). d wiÚku, jest wywoïywana dla obiektu SoundChannel, zwanego myChannel myChannel.stop(); 7. Przetestuj film. ZewnÚtrzny d wiÚk zaczyna byÊ odtwarzany po uruchomieniu filmu. KlikniÚcie przycisku spowoduje zakoñczenie odtwarzania. Wskazówka „ Mo esz równie u yÊ metody stopAll() klasy SoundMixer. To spowoduje zatrzymanie odtwarzania wszystkich d wiÚków. U yj na przykïad polecenia SoundMixer.stopAll(). Wznawianie d wiÚków Mo esz dowiedzieÊ siÚ, jaka czÚ Ê d wiÚku zostaïa ju odtworzona, korzystajÈc z wïasno ci position obiektu SoundChannel. Wïasno Ê position zwraca bie Ècy czas odtwarzanego nagrania Sterowanie odtwarzaniem d wiÚków w milisekundach. Jest to bardzo przydatne, Rysunek 8.16. Drugi egzemplarz przycisku gdy chcesz zapamiÚtaÊ moment, w którym na scenie otrzymuje nazwÚ resumebutton_btn odtwarzanie d wiÚku zostaïo przerwane, a potem wznowiÊ je od tego samego punktu. Gdy u ytkownik zatrzymuje odtwarzanie d wiÚku, mo esz przechwyciÊ warto Ê wïasno ci position obiektu SoundChannel w tym momencie, przypisujÈc tÚ warto Ê do zmiennej. Potem, wznawiajÈc odtwarzanie d wiÚku, przypiszesz przechwyconÈ warto Ê do pierwszego parametru metody play()obiektu Sound. Aby wznowiÊ odtwarzanie: 1. KontynuujÈc pracÚ nad plikiem z poprzedniego Êwiczenia, umie Ê na scenie kolejny egzemplarz przycisku i nadaj mu nazwÚ w panelu Wïa ciwo ci (rysunek 8.16). W tym Êwiczeniu utworzymy funkcjÚ obsïugujÈcÈ zdarzenie klikniÚcia tego drugiego przycisku, aby umo liwiÊ wznowienie odtwarzania d wiÚku od punktu, w którym zostaïo przerwane. 323
  • 15. Rozdziaï 8. 2. Zaznacz pierwszÈ klatkÚ gïównej listwy 5. Utwórz kolejnÈ funkcjÚ typu event handler, czasowej i otwórz panel Operacje. reagujÈcÈ na klikniÚcie drugiego przycisku umieszczonego na scenie. 3. Zacznij tworzenie dalszej czÚ ci skryptu od zadeklarowania zmiennej Zadaniem tej funkcji bÚdzie wznowienie do przechowywania warto ci caïkowitych odtwarzania d wiÚku. (integer; rysunek 8.17). 6. PomiÚdzy nawiasami klamrowymi funkcji Zmienna ta bÚdzie przechowywaÊ bie ÈcÈ wpisz nastÚpujÈce polecenie (rysunek 8.19): pozycjÚ odtwarzania. myChannel:SoundChannel= 4. WróÊ do funkcji event handler, utworzonej ´mySound.play(pauseposition); dla pierwszego przycisku, przeznaczonego Pozycja odtwarzania zatrzymanego d wiÚku do zatrzymania odtwarzania. Tu przed metodÈ zostanie u yta jako pierwszy parametr stop() wpisz dodatkowe polecenie, takie jak metody play(), który decyduje o warto ci to poni ej (rysunek 8.18): przesuniÚcia. D wiÚk jest odtwarzany pauseposition=myChannel.position; od miejsca, w którym siÚ zatrzymaï. Tu przed zatrzymaniem d wiÚku bie Èca 7. Przetestuj film. pozycja odtwarzania jest przypisywana ZewnÚtrzny plik d wiÚkowy zaczyna siÚ do zmiennej. odtwarzaÊ. KlikniÚcie pierwszego przycisku wstrzymuje odtwarzanie. KlikniÚcie drugiego  wznawia je. Sterowanie odtwarzaniem d wiÚków Rysunek 8.17. Pod wietlone polecenie deklaruje nowÈ zmiennÈ o nazwie pauseposition, która bÚdzie przechowywaÊ liczbÚ caïkowitÈ Rysunek 8.18. Zanim odtwarzanie d wiÚku zostanie przerwane, obecna pozycja odtwarzania (czas, jaki minÈï od poczÈtku nagrania, w milisekundach) jest przechwytywana i zapisywana w zmiennej pauseposition Rysunek 8.19. Funkcja obsïugujÈca zdarzenie klikniÚcia przycisku resumebutton_btn, umieszczonego na scenie. Metoda play() wykorzystuje zmiennÈ pauseposition jako parametr, tak by odtwarzanie byïo wznawiane od momentu, w którym je przerwano 324
  • 16. Sterowanie d wiÚkiem Modyfikacja natÚ enia NastÚpnie trzeba ustawiÊ odpowiedniÈ wïasno Ê tego obiektu  na przykïad volume i balansu d wiÚku  na wïa ciwÈ warto Ê, a potem u yÊ obiektu SoundTransform jako trzeciego parametru Flash oferuje peïnÈ kontrolÚ nad gïo no ciÈ metody play(), tak jak w poni szym przykïadzie: i balansem d wiÚku (siïÈ d wiÚku podawanÈ do lewego i prawego gïo nika). Nic wiÚc nie stoi newVolume.volume=.5; na przeszkodzie, by daÊ u ytkownikowi mySound.play(0,0,newVolume); mo liwo Ê sterowania gïo no ciÈ lub te Aby zmieniÊ gïo no Ê lub balans d wiÚku, który stosowaÊ zmiany gïo no ci do uzyskania efektów ju jest odtwarzany, nale y przypisaÊ obiekt specjalnych. Mo esz na przykïad zwiÚkszaÊ, SoundTransform do wïasno ci soundTransform a potem stopniowo zmniejszaÊ natÚ enie ryku obiektu SoundChannel. Na przykïad tak: silnika, gdy w grze w wy cigi samochodowe wymija gracza inny zawodnik. Sterowanie var newVolume:SoundTransform=new ´SoundTransform(); balansem mo na zastosowaÊ w grze Pong, newVolume.volume=.5; by odgïos uderzenia piïki w rakietkÚ dobiegaï myChannel.soundTransform=newVolume; z gïo nika po wïa ciwej stronie. Pierwsze z tych poleceñ tworzy nowy obiekt Aby zmieniÊ ogólnÈ gïo no Ê oraz balans danego klasy SoundTransform o nazwie newVolume d wiÚku, musisz wprowadziÊ trzeci parametr („nowa gïo no Ê”). NastÚpnie wïasno Ê volume do metody play() (jak zapewne pamiÚtasz, tego obiektu zostaje odpowiednio zmieniona. pierwszy parametr decyduje o przesuniÚciu Na koniec obiekt SoundTransform zostaje odtwarzania, a drugi — o liczbie powtórzeñ). przypisany do wïasno ci soundTransform Trzeci parametr wymaga u ycia obiektu klasy obiektu SoundChannel, zwiÈzanego z d wiÚkiem, SoundTransform. Najpierw trzeba go wiÚc który jest aktualnie odtwarzany. utworzyÊ: Modyfikacja natÚ enia i balansu d wiÚku Klasa SoundTransform jest wyposa ona we var newVolume:SoundTransform=new ´SoundTransform() wïasno ci, takie jak volume (gïo no Ê), pan (balans) oraz jeszcze kilka, sïu Ècych do precyzyjnego manipulowania prawym i lewym kanaïem. Ich opis znajdziesz w tabeli 8.1. Tabela 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 prawo leftToLeft Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile lewego kanaïu zostanie odtworzone w lewym gïo niku leftToRight Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile lewego kanaïu zostanie odtworzone w prawym gïo niku rightToLeft Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile prawego kanaïu zostanie odtworzone w lewym gïo niku rightToRight Warto Ê liczbowa (od 0 do 1) okre lajÈca, ile prawego kanaïu zostanie odtworzone w prawym gïo niku 325
  • 17. Rozdziaï 8. Aby ustawiÊ gïo no Ê d wiÚku Obiekt ten jest wyposa ony we wïasno ci, przed jego odtworzeniem: których mo emy u yÊ do sterowania gïo no ciÈ i balansem d wiÚku. 1. Zadeklaruj i zainicjalizuj obiekt URLRequest, korzystajÈc z konstruktora new URLRequest(), 5. W kolejnej linii wpisz nazwÚ swojego i wpisz w roli parametru cie kÚ do pliku MP3. obiektu SoundTransform, kropkÚ i wïasno Ê, której chcesz u yÊ: volume dla gïo no ci, 2. W nastÚpnej linii zadeklaruj i zainicjalizuj pan dla balansu. Potem wstaw znak nowy obiekt Sound, korzystajÈc z konstruktora równo ci i wpisz odpowiedniÈ warto Ê new Sound(). (rysunek 8.20). 3. W kolejnym wierszu wpisz nazwÚ swojego 6. W nastÚpnej linii wpisz nazwÚ obiektu obiektu Sound, kropkÚ i metodÚ load(). Sound, kropkÚ i metodÚ play(). Jako W roli parametru u yj obiektu URLRequest. parametry wpisz 0, 5 oraz nazwÚ obiektu Flash ïaduje zewnÚtrzny plik MP3, wskazany SoundTransform (rysunek 8.21). Przypisz przez obiekt URLRequest. warto Ê zwróconÈ przez metodÚ play() do obiektu klasy SoundChannel. 4. W kolejnej linii zadeklaruj i zainicjalizuj nowy obiekt SoundTransform, korzystajÈc 7. Przetestuj film. z konstruktora new SoundTransform(). Metoda play() odtwarza d wiÚk, korzystajÈc z obiektu SoundTransform do ustalenia poziomu gïo no ci i (lub) balansu. Modyfikacja natÚ enia i balansu d wiÚku Rysunek 8.20. Wïasno Ê gïo no ci (volume) tego obiektu SoundTransform zostaïa ustawiona na poïowÚ peïnej gïo no ci Rysunek 8.21. Obiekt SoundTransform o nazwie newSetting zostaje u yty jako trzeci parametr metody play(). Ten d wiÚk bÚdzie odtwarzany od poczÈtku, piÚÊ razy, z gïo no ciÈ zmniejszonÈ do poïowy 326
  • 18. Sterowanie d wiÚkiem Aby ustawiÊ gïo no Ê d wiÚku w trakcie odtwarzania: 1. Utwórz przycisk, umie Ê jego egzemplarz na scenie i nadaj mu nazwÚ w panelu Wï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Úku w trakcie odtwarzania. 2. Zaznacz pierwszÈ klatkÚ gïównej listwy czasowej i otwórz panel Operacje. Zacznij od zadeklarowania i zainicjalizowania obiektu Rysunek 8.22. Egzemplarz przycisku URLRequest za pomocÈ konstruktora new na scenie otrzymaï nazwÚ decrease_btn URLRequest(). Jako parametr podaj cie kÚ do zewnÚtrznego pliku MP3. 3. W kolejnej linii zadeklaruj i zainicjalizuj obiekt Sound za pomocÈ konstruktora new Sound(). 4. W nastÚpnym wierszu wpisz nazwÚ obiektu Sound, kropkÚ i metodÚ load(). Wpisz w nawiasach nazwÚ obiektu URLRequest jako parametr tej metody. Modyfikacja natÚ enia i balansu d wiÚku Flash zaïaduje zewnÚtrzny plik MP3, którego adres jest zawarty w obiekcie URLRequest. 5. W kolejnej linii zadeklaruj i zainicjalizuj obiekt SoundTransform za pomocÈ konstruktora new SoundTransform(). 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ïadzie egzemplarz obiektu SoundTransform otrzymaï nazwÚ newSetting („nowe ustawienia”). 327
  • 19. Rozdziaï 8. 6. W kolejnej linii wpisz nastÚpujÈce polecenie: 8. W kolejnej linii, lecz wciÈ w ramach var myChannel:SoundChannel funkcji event handler, dodaj polecenie: ´=mySound.play(); myChannel.soundTransform=newSetting; To polecenie odtwarza d wiÚk i umieszcza To polecenie przypisuje obiekt zwrócony przez metodÚ play() obiekt klasy SoundTransform o nazwie newSetting SoundChannel w nowej zmiennej, tu o nazwie do wïasno ci soundTransform odtwarzanego myChannel (rysunek 8.23). d wiÚku, tak by zmniejszenie gïo no ci 7. W nastÚpnej linii utwórz funkcjÚ obsïugujÈcÈ doszïo do skutku (rysunek 8.24). zdarzenie (event handler), która bÚdzie 9. Przetestuj film. wykrywaÊ klikniÚcie przycisku na scenie. W nawiasach klamrowych funkcji umie Ê ZewnÚtrzny plik MP3 ïaduje siÚ i odtwarza. polecenie: Przy ka dym klikniÚciu przycisku wïasno Ê volume obiektu SoundTransform o nazwie newSetting.volume-=0.1; newSetting zmniejsza siÚ o 0,1. NastÚpnie To oznacza, e przy ka dym klikniÚciu zmodyfikowany obiekt newSetting jest przycisku warto Ê przypisana wïasno ci volume przypisywany do wïasno ci soundTransform obiektu SoundTransform zmniejszy siÚ o 0,1. odtwarzanego d wiÚku, co powoduje obni enie jego gïo no ci. Modyfikacja natÚ enia i balansu d wiÚku Rysunek 8.23. Odtwarzany jest zewnÚtrzny plik MP3 o 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,1 warto ci przypisanej do wïasno ci volume obiektu klasy SoundTransform, zwanego newSetting. Obiekt SoundTransform jest przypisany do wïasno ci soundTransform obiektu SoundChannel, by mo na byïo zmieniaÊ gïo no Ê w trakcie odtwarzania 328
  • 20. Sterowanie d wiÚkiem Aby zamieniÊ z sobÈ kanaïy d wiÚku: X Przypisz nastÚpujÈce warto ci wïasno ciom obiektu SoundTransform: leftToLeft=0; leftToRight=1; rightToRight=0; rightToLeft=1; Gdy dokonasz takiej zmiany wïasno ci obiektu SoundTransform i przypiszesz ten obiekt do wïasno ci soundTransform obiektu SoundChannel lub u yjesz go w roli trzeciego parametru metody play(), kanaïy lewy i prawy zostanÈ zamienione: kanaï prawy bÚdzie odtwarzany z lewego gïo nika, a lewy Rysunek 8.25. Wïa ciwo ci obiektu — z prawego (rysunek 8.25). SoundTransform, okre lajÈce rozkïad d wiÚku pochodzÈcego z lewego i prawego kanaïu Wskazówka w poszczególnych gïo nikach. Wïa ciwo ci te przyjmujÈ warto ci od 0 do 1 „ Aby skróciÊ skrypt, mo esz ustawiÊ wïasno ci obiektu SoundTransform ju w chwili jego zainicjalizowania. Na przykïad polecenie var myNewSettings:SoundTransform=new SoundTransform(.5,1) stanowi odpowiednik nastÚpujÈcej sekwencji poleceñ: Modyfikacja natÚ enia i balansu d wiÚku var myNewSettings:SoundTransform=new ´SoundTransform(); myNewSettings.volume=.5; myNewSettings.pan=1; 329
  • 21. Rozdziaï 8. Wykrywanie zdarzeñ d wiÚku Mo na wykryÊ moment zakoñczenia odtwarzania d wiÚku, u ywajÈc zdarzenia Event.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Èzany z obiektem SoundChannel zostanie ju w caïo ci odtworzony, wywoïana zostanie funkcja o nazwie finished („skoñczone”) i wykonane zostanÈ wszystkie polecenia, jakie w tej funkcji umie cisz. Zdarzenie Event.SOUND_COMPLETE umo liwia sterowanie d wiÚkiem i jego integracjÚ na wiele ró nych sposobów. Wystarczy wyobraziÊ sobie szafÚ grajÈcÈ, losowo wybierajÈcÈ piosenki z banku albumów. Gdy zakoñczy siÚ jedna piosenka, Flash wie, e nadszedï czas na rozpoczÚcie kolejnej. Inny przykïad to prezentacja biznesowa, która przechodzi do kolejnego slajdu dopiero po zakoñczeniu narracji. W poni szym Êwiczeniu wykorzystamy zdarzenie koñca odtwarzania Wykrywanie zdarzeñ d wiÚku do ustalenia momentu, w którym Flash powinien zaïadowaÊ i odtworzyÊ kolejny plik. Aby wykryÊ zakoñczenie odtwarzania d wiÚku: 1. Zadeklaruj i zainicjalizuj obiekt URLRequest za pomocÈ funkcji konstruktora new URLRequest() i wpisz jako parametr adres zewnÚtrznego pliku MP3. 2. W kolejnej linii zadeklaruj i zainicjalizuj obiekt Sound za pomocÈ funkcji konstruktora new Sound(). 3. W kolejnej linii wpisz nazwÚ obiektu Sound, kropkÚ i metodÚ load(). Jako parametr tej metody podaj obiekt URLRequest. 330
  • 22. Sterowanie d wiÚkiem 4. W nowej linii wpisz nazwÚ obiektu Sound, Gdy odtwarzanie d wiÚku siÚ zakoñczy, kropkÚ i metodÚ play() bez parametrów. funkcja zostanie wywoïana. W tym przypadku Przypisz zwróconÈ warto Ê do nowego dziaïanie funkcji polega na utworzeniu nowego obiektu SoundChannel (rysunek 8.26). obiektu Sound, który zaïaduje i odtworzy inny d wiÚk. 5. W kolejnej linii utwórz odbiornik zdarzeñ w obiekcie SoundChannel, nastawiony Wskazówka na wykrycie zdarzenia Event. ´SOUND_COMPLETE (rysunek 8.27). „ Je li d wiÚk jest zapÚtlony (powtarzany wielokrotnie), zdarzenie Event.S 6. Utwórz funkcjÚ uruchamianÈ przez ´OUND_COMPLETE zostanie zgïoszone zdarzenie Event.SOUND_COMPLETE po ostatniej pÚtli. (rysunek 8.28). Rysunek 8.26. Odtwarzany jest zewnÚtrzny plik MP3 o nazwie music1.mp3 Rysunek 8.27. Odbiornik zdarzeñ wykrywa zakoñczenie Wykrywanie zdarzeñ d wiÚku ïadowania i wywoïuje (tu jeszcze niezdefiniowanÈ) funkcjÚ o nazwie finished Rysunek 8.28. Funkcja o nazwie finished rozpoczyna odtwarzanie drugiego pliku d wiÚkowego 331
  • 23. Rozdziaï 8. Tabela 8.2. Znaczniki ID3v2 Wykorzystanie znaczników Wäa ciwo è Opis informacyjnych plików MP3 id3.COMM komentarz Pliki MP3 to obecnie najpopularniejszy format id3.TALB tytuï albumu, filmu lub nazwa cyfrowy przechowywania muzyki. Kompresja przedstawienia MP3 pozwala znaczÈco zmniejszyÊ rozmiar pliku id3.TBPM taktowanie przy jednoczesnym zachowaniu bardzo wysokiej id3.TCOM kompozytor jako ci, niemal takiej jak przy odtwarzaniu pïyt id3.TCOP informacja o prawach autorskich kompaktowych. DodatkowÈ zaletÈ plików MP3 id3.TDAT data jest mo liwo Ê „zaszycia” w ich wnÚtrzu id3.TDLY opó nienie listy odtwarzania dodatkowych informacji na temat muzyki id3.TENC autor kodowania — metadanych. Pierwsza wersja metadanych id3.TEXT autor sïów (tak zwanych znaczników ID3) byïa umieszczana na koñcu pliku MP3. Zawieraïa takie informacje, id3.TFLT typ pliku jak autor, tytuï piosenki, nazwa albumu, id3.TIME czas rok wydania, komentarz i gatunek muzyczny. id3.TIT1 opis grupy zawarto ci Informacje znajdujÈce siÚ na koñcu pliku byïy id3.TIT2 tytuï lub nazwa piosenki odczytywane przez wiÚkszo Ê odtwarzaczy MP3. id3.TIT3 podtytuï, dokïadniejszy opis Po pewnym czasie powstaïa obowiÈzujÈca obecnie id3.TKEY klucz poczÈtkowy druga wersja ID3. JednÈ z jej gïównych cech jest id3.TLAN jÚzyki przeniesienie informacji na poczÈtek pliku MP3, id3.TLEN dïugo Ê by usprawniÊ obsïugÚ strumieniowania. Dodatkowo id3.TMED typ medium pojawiïo siÚ wiele nowych pól, miÚdzy innymi id3.TOAL oryginalny album, film lub nazwa informacja na temat kompozytora, dyrygenta, typ przedstawienia medium, informacja o prawach autorskich i data id3.TOFN oryginalna nazwa pliku Znaczniki informacyjne plików MP3 nagrania. id3.TOLY pierwotny autor tekstu Flash potrafi odczytywaÊ znaczniki ID3v2 plików id3.TOPE pierwotny wykonawca MP3. Ka dy element informacji (nazywany id3.TORY pierwotna data wydania znacznikiem) odpowiada konkretnej wïa ciwo ci id3.TOWN wïa ciciel pliku, licencja obiektu id3, bÚdÈcego czÚ ciÈ obiektu Sound. id3.TPE1 gïówny wykonawca lub solista Przykïadowo, mySound_sound.id3.TALB zawiera id3.TPE2 zespóï, orkiestra, akompaniament nazwÚ albumu. Tabela 8.2 wymienia wszystkie id3.TPE3 dyrygent, re yser d wiÚku znaczniki obsïugiwane przez Flasha id3.TPE4 zaaran owane, zmiksowane lub w inny za po rednictwem wïasno ci obiektu Sound. sposób zmienione przez W jaki sposób pobiera siÚ znaczniki ID3? Trzeba id3.TPOS czÚ Ê zbioru utworzyÊ funkcjÚ obsïugi zdarzenia, które jest id3.TPUB wydawca wywoïywane, gdy dostÚpne sÈ znaczniki dla id3.TRCK numer cie ki lub pozycja w zbiorze d wiÚku odtwarzanego metodÈ play(). Sïu y id3.TRDA data nagrania do tego zdarzenie Event.ID3. Jest to jedyny sposób id3.TRSN nazwa radiowej stacji internetowej na odczytanie tych informacji. id3.TRSO wïa ciciel radiowej stacji internetowej W kolejnym Êwiczeniu zaïadujesz zewnÚtrzny id3.TSIZ rozmiar plik MP3 i wy wietlisz zawarte w nim informacje id3.TSRC miÚdzynarodowy, standaryzowany kod w oknie Wyj cie. nagrania (ISRC) id3.TSSE oprogramowanie lub sprzÚt u yty do kodowania id3.TYER rok id3.WXXX ïÈcze URL 332
  • 24. Sterowanie d wiÚkiem Aby pobraÊ informacje na temat pliku MP3: 5. Dodaj odbiornik zdarzeñ do obiektu Sound. Nastaw go na wykrywanie zdarzenia 1. Zadeklaruj i zainicjalizuj obiekt klasy Event.ID3, tak jak w poni szym przykïadzie: URLRequest, u ywajÈc konstruktora new URLRequest(). Jako parametr podaj cie kÚ mySound.addEventListener(Event.ID3, ´gotmedata); do pliku MP3. 2. Zadeklaruj i zainicjalizuj obiekt klasy Sound, Gdy Flash otrzyma dane ID3 od zaïadowanego pliku MP3, zdarzenie to uruchomi funkcjÚ u ywajÈc konstruktora new Sound(). o nazwie gotmedata („podaj dane”). 3. Wpisz nazwÚ utworzonego obiektu Sound, 6. Utwórz funkcjÚ o nazwie gotmedata, kropkÚ i metodÚ load(). W nawiasie jako wywoïywanÈ przez zdarzenie Event.ID3. parametr podaj wcze niej utworzony obiekt PomiÚdzy nawiasami klamrowymi funkcji URLRequest. umie Ê polecenie trace, przeznaczone Flash ïaduje zewnÚtrzny plik MP3, którego do wy wietlenia wïasno ci id3, tak jak adres i nazwa zostaïy zdefiniowane w poni szym przykïadzie (rysunek 8.30): w obiekcie URLRequest. function gotmedata(myevent: 4. W nowym wierszu ponownie wpisz nazwÚ ´Event) : void{ trace("title="+mySound.id3.TIT2); obiektu Sound oraz kropkÚ. Wpisz metodÚ } play() bez parametrów (rysunek 8.29). W tym przykïadzie polecenie trace wy wietla Metoda play() odtwarza d wiÚk. informacjÚ na temat tytuïu piosenki zapisanej w pliku MP3. Do podanej informacji doïÈcza obja nienie o brzmieniu title= („tytuï to...”). Znaczniki informacyjne plików MP3 Rysunek 8.29. Odtwarzany jest zewnÚtrzny plik MP3 o 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 333
  • 25. Rozdziaï 8. 7. Dodaj wiÚcej poleceñ trace pomiÚdzy Wskazówki nawiasami klamrowymi funkcji, tak by „ U ywajÈc dynamicznych pól tekstowych, odczytana zostaïa caïa informacja, jakiej mo na wy wietliÊ u ytkownikowi wszystkie potrzebujesz (rysunek 8.31). potrzebne informacje, zawarte 8. Zapisz swój plik FLA w miejscu, z którego w znacznikach ID3, na scenie (a nie w oknie bÚdzie potrafiï znale Ê plik MP3, wskazany Wyj cie). WiÚcej informacji na temat przez obiekt URLRequest1. dynamicznych pól tekstowych znajduje siÚ w rozdziale 10. TestujÈc film w rodowisku edycyjnym Flasha, mo esz odczytaÊ informacje „ Gdy plik MP3 zawiera znaczniki ID3v1 pochodzÈce ze znaczników ID3 w oknie i ID3v2, zdarzenie Event.ID3 zostanie Wyj cie (rysunek 8.32). zgïoszone dwa razy. „ Aby zobaczyÊ znaczniki ID3 plików MP3 poza Flashem, wykonaj nastÚpujÈce dziaïania: W systemie Windows XP: kliknij prawym przyciskiem myszy plik MP3. Wybierz Wïa ciwo ci/Podsumowanie/Zaawansowane. W systemie Mac OS X: w iTunes wybierz z listy nazwÚ piosenki i naci nij klawisze Command+I. Znaczniki informacyjne plików MP3 Rysunek 8.31. Dwie instrukcje trace umo liwiajÈ wy wietlenie nazwiska wykonawcy i tytuïu piosenki w oknie Wyj cie, w trakcie testowania filmu, gdy nastÈpi zdarzenie Event.ID3 Rysunek 8.32. Okno Wyj cie, wy wietlane przy 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. 334
  • 26. Sterowanie d wiÚkiem Wizualizacja d wiÚku Prawdopodobnie widywaïe ju graficznÈ reprezentacjÚ d wiÚku w postaci fali lub wznoszÈ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Ècych siÚ, tÚczowych kolorów. Takie efekty mo na zobaczyÊ zarówno na wygaszaczach, jak i na pokazach laserowych typu „ wiatïo i d wiÚk”. Te efekty graficzne sÈ zawsze zwiÈzane z jakim okre lonym parametrem d wiÚku. Wraz ze zmianÈ d wiÚku zmienia siÚ równie obraz, co pozwala uzyskaÊ bezpo redniÈ, graficznÈ reprezentacjÚ tego, co sïyszymy. Ten typ wizualizacji jest dobrym uzupeïnieniem Rysunek 8.33. Dwa prostokÈtne klipy odtwarzanego d wiÚku, a w razie wystÈpienia filmowe umieszczone na scenie: lewy problemów technicznych stanowi te u ytecznÈ o nazwie barleft_mc i prawy o nazwie informacjÚ; dziÚki niemu dowiadujemy siÚ, barright_mc. Punkty zaczepienia tych czy w danym czasie jest odtwarzany jaki d wiÚk. obiektów sÈ wyrównane do ich dolnej WizualizacjÚ d wiÚku, mo e nieco prostszÈ krawÚdzi od opisanych, mo esz z powodzeniem wykonaÊ sam we Flashu. Klasa SoundChannel wyposa ona jest w dwie wïasno ci, leftPeak oraz rightPeak, które przechowujÈ informacjÚ na temat gïo no ci d wiÚku w lewym i prawym kanale w ka dej chwili odtwarzania. PobierajÈc te dane dostatecznie czÚsto, na przykïad za pomocÈ zdarzenia Event.ENTER_FRAME lub obiektu Timer, mo esz Wizualizacja d wiÚku wykonaÊ na ich podstawie wizualizacjÚ. Mo esz na przykïad skalowaÊ pionowe paski odpowiednio do natÚ enia d wiÚku w ka dym kanale. W kolejnym Êwiczeniu zaïadujemy i odtworzymy zewnÚtrzny plik MP3, a pobrane warto ci wïasno ci leftPeak oraz rightPeak przypiszemy do wïasno ci scaleY dwóch prostokÈtnych klipów filmowych. Aby wykonaÊ wizualizacjÚ natÚ enia d wiÚku w lewym i prawym kanale: 1. Utwórz klip filmowy z pionowym prostokÈtem, umieszczajÈc punkt zaczepienia na dolnej krawÚdzi tego prostokÈta. Umie Ê na scenie dwa egzemplarze tego klipu. Ka demu z nich nadaj indywidualnÈ nazwÚ w panelu Wïa ciwo ci (rysunek 8.33). Te dwa pionowe paski bÚdÈ zmieniaÊ swÈ wysoko Ê tak, by odzwierciedlaïo to zmiany natÚ enia d wiÚku w ka dym z kanaïów. 335
  • 27. Rozdziaï 8. 2. Jak w poprzednich Êwiczeniach, w panelu Operacje utwórz obiekt URLRequest za pomocÈ konstruktora new URLRequest(), podajÈc jako parametr cie kÚ adresowÈ pliku MP3. 3. Zadeklaruj i zainicjalizuj obiekt Sound za pomocÈ konstruktora new Sound(). 4. Wpisz nazwÚ obiektu Sound, kropkÚ i metodÚ load(). Podaj nazwÚ obiektu URLRequest jako jej parametr. Flash ïaduje zewnÚtrzny plik MP3, zgodnie ze cie kÈ podanÈ w obiekcie URLRequest. 5. Wywoïaj metodÚ play() dla obiektu Sound i przypisz zwróconÈ warto Ê do nowej zmiennej typu SoundChannel: var myChannel:SoundChannel= ´mySound.play(); Flash odtwarza d wiÚk i tworzy powiÈzany z tym d wiÚkiem obiekt SoundChannel (rysunek 8.34). Wizualizacja d wiÚku Rysunek 8.34. Odtwarzany jest zewnÚtrzny plik MP3, zwany music.mp3 Rysunek 8.35. Zdarzenie Event.ENTER_FRAME wywoïuje regularne skalowanie obu prostokÈtnych klipów, odpowiednio do bie Ècych warto ci wïasno ci leftPeak i rightPeak obiektu Sound 336
  • 28. Sterowanie d wiÚkiem 6. Dodaj do sceny odbiornik zdarzeñ (event listener), wykrywajÈcy zdarzenie Event.ENTER_FRAME: stage.addEventLIstener ´(Event.ENTER_FRAME, everyframe); Flash wywoïuje funkcjÚ everyframe („ka da klatka”) z czÚstotliwo ciÈ wyznaczonÈ przez prÚdko Ê odtwarzania filmu. 7. Utwórz funkcjÚ wywoïywanÈ w odpowiedzi na zdarzenie Event.ENTER_FRAME. 8. W nawiasach klamrowych funkcji umie Ê polecenia, które zmieniÈ wyglÈd klipów Rysunek 8.36. Dwa prostokÈtne klipy zwiÚkszajÈ filmowych, tak jak w poni szym przykïadzie i zmniejszajÈ swÈ wysoko Ê w sposób (rysunek 8.35): zsynchronizowany z d wiÚkiem everyframe(event:Event):void{ barleft_mc.scaleY= ´(myChannel.leftPeak); barright_mc.scaleY= ´(myChannel.rightPeak); } Warto ci liczbowe wïasno ci leftPeak i rightPeak zmieniajÈ siÚ w zakresie od 0 do 1. Po przypisaniu tych warto ci do wïasno ci scaleY klipów filmowych tak samo zmienia siÚ teraz wspóïczynnik pionowego skalowania prostokÈtów. 9. Upewnij siÚ, e zewnÚtrzny plik MP3 znajduje Wizualizacja d wiÚku siÚ w miejscu, w którym film Flasha mo e go odnale Ê, na podstawie informacji zawartej w obiekcie URLRequest. Przetestuj film (Sterowanie/Testuj film; rysunek 8.36). Wskazówka „ Flash przewiduje tak e bardziej skomplikowany sposób obrazowania danych d wiÚkowych; sïu y do tego klasa computeSpectrum() klasy SoundMixer. Metoda ta zwraca dane na temat czÚstotliwo ci fali, uzyskane z pomiaru wysoko ci tonów (niskie zakresy czÚstotliwo ci odpowiadajÈ niskim tonom, a wysokie  wysokim). WiÚcej informacji na ten temat znajdziesz w pomocy Flasha. Patrz: Help/ Programming ActionScript 3.0/Working with Sound/Accessing raw sound data. 337