r12-04(1), Informacje dot. kompa


0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

Części składowe języka HTML


0x08 graphic
W miarę jak rośnie złożoność twojego filmu Flasha, zawierającego coraz więcej bitmap, dźwięków, animacji i wyrażeń ActionScript, łączących to wszystko w jedną całość, zachodzi potrzeba ścisłego śledzenia funkcjonowania tych elementów w celu dokonywania przeglądów i poprawek. W końcu nawet najbardziej wyszukany film okaże się bezużyteczny, jeśli nie będziesz w stanie wskazać tej jednej zmiennej, uniemożliwiającej zadziałanie całości. Na szczęście Flash udostępnia wiele narzędzi do rozwiązywania problemów i zarządzania biblioteką symboli.

Ten rozdział nauczy cię tworzenia współdzielonych bibliotek i zewnętrznych skryptów, udostępniających często używane elementy - symbole i kod - grupie projektantów pracujących nad filmem Flasha. W niniejszym rozdziale zapoznasz się też z paletami Movie Explorer, Debugger i oknem Output, które dają dostęp do informacji na temat organizacji i statusu twojego filmu. Te trzy okna pozwalają ogarnąć skrypt z perspektywy różnych elementów filmu, wyświetlają też ostrzeżenia o błędach i monitorują zmiany w wartościach zmiennych oraz właściwości w czasie odtwarzania filmu.

Na zakończenie zapoznasz się z kilkoma technikami pomagającymi uczynić film bardziej zwartym i szybkim - dzięki optymalizacji grafiki, właściwej organizacji środowiska pracy i sposobom unikania powszechnych błędów. Wspomniane techniki, uczynią z ciebie lepszego animatora i bardziej doświadczonego twórcę filmów Flasha.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Tworzenie
współdzielonych bibliotek

Flash umożliwia zespołom animatorów i programistów korzystanie ze współdzielonych bibliotek w czasie pracy nad złożonymi projektami. Każdy z animatorów może pracować nad oddzielnym filmem, używającym jednak tego samego symbolu - np. głównego bohatera animowanego komiksu. Identyczny symbol tego bohatera powinien rezydować w bibliotece każdego z filmów, a jeśli dyrektor artystyczny zdecyduje się zmienić twarz postaci, to nowy symbol musi zostać skopiowany do wszystkich bibliotek - tzn., dzieje się tak, dopóki nie przygotuje się współdzielonej biblioteki. Biblioteki tego typu służą do przechowywania symboli najczęściej używanych w wielu filmach. Możesz więc przechować symbol swojego bohatera w takiej bibliotece, udostępniając go zarazem dla wszystkich filmów, które muszą z niego skorzystać. To bardzo upraszcza proces edycyjny i zapewnia spójność całemu projektowi (rys. 12.1).

Odbiorcy także odnoszą korzyści z używania współdzielonej biblioteki, jako że muszą wczytać ją tylko raz. Przykładowo, wspominany już bohater mógłby być wczytany tylko jednokrotnie - dla pierwszego filmu, a zarazem wszystkich innych dodatkowych filmów, także korzystających z tego symbolu.

W celu utworzenia współdzielonej biblioteki, oznaczasz symbol, który chcesz udostępnić za pomocą takiego samego identyfikatora łączenia, jakiego używałeś w przypadku dźwięków i filmów na potrzeby metod attachSound i attachMovie. Po wyeksportowaniu pliku SWF, zidentyfikowane w ten sposób symbole będą dostępne jako symbole współdzielone.

0x01 graphic

Rys. 12.1. Współdzielona biblioteka (u góry) umożliwia wielu plikom SWF korzystanie z tego samego symbolu

0x08 graphic
0x01 graphic

Rys. 12.2. Wybierz Options/Linkage z menu biblioteki

0x01 graphic

Rys. 12.3. W celu oznaczenia symbolu jako współdzielonego, nadaje mu się identyfikator w oknie dialogowym Symbol Linkage Properties i zaznacza jako element do wyeksportowania

0x01 graphic

Rys. 12.4. W celu uzyskania dostępu do współdzielonych symboli z biblioteki innego filmu, wybierz File/Open as Shared Library

W celu utworzenia
współdzielonej biblioteki:

  1. W dokumencie Flasha utwórz symbol, który chcesz udostępnić. Może to być grafika, przycisk, klip filmowy, dźwięk lub bitmapa.

  2. W bibliotece zaznacz swój symbol. Z menu rozwijanego Options wybierz Linkage (rys. 12.2).

Pojawi się okno dialogowe Symbol Linkage Properties.

  1. Dla polecenia Linkage wybierz opcję Export this symbol. W polu Identifier wpisz unikalną nazwę dla twojego symbolu. Kliknij OK (rys. 12.3).

Wybrany w ten sposób symbol jest zaznaczony do wyeksportowania i gotowy do współdzielenia przez inne filmy.

  1. Wyeksportuj swój film Flasha jako plik SWF. Wybrany przez ciebie symbol rezyduje teraz w pliku SWF, udostępniającym współdzielone elementy innym filmom.

Po utworzeniu współdzielonej biblioteki możesz wykorzystywać jej zawartość w różnych filmach. W tym celu trzeba tylko otworzyć współdzieloną bibliotekę w nowym dokumencie Flasha, a następnie przeciągnąć wybrany symbol do okna dokumentu. Pomiędzy plikiem SWF używającym takiego symbolu oraz plikiem SWF, który symbol współdzielony zawiera (czyli współdzieloną biblioteką), tworzone jest połączenie. Oryginalny plik źródłowy (FLA), zawierający bibliotekę współdzieloną, jest plikiem głównym, jedynym miejscem, w którym możesz dokonywać edycji współdzielonych symboli.

W celu użycia
współdzielonego symbolu:

  1. Otwórz nowy dokument Flasha. Wybierz File/Open as Shared Library (rys. 12.4).

  1. 0x08 graphic
    0x08 graphic
    0x08 graphic
    0x08 graphic
    0x08 graphic
    W oknie dialogowym, które się pojawi, zaznacz plik FLA zawierający symbole, oznaczone jako współdzielone i przeznaczone do eksportu. Kliknij OK.

Pojawi się nowe okno biblioteki, ukazujące wszystkie symbole z wybranego pliku FLA. Tło biblioteki ma kolor szary, wskazując w ten sposób, że ta biblioteka nie należy do aktualnie otwartego pliku Flasha. Z poziomu tego pliku nie możesz modyfikować, dodawać czy usuwać symboli z tej biblioteki (rys. 12.5).

  1. Zaznacz symbol (we współdzielonej bibliotece), który w poprzednim ćwiczeniu oznaczyłeś jako element do wyeksportowania i przeciągnij go do bieżącej biblioteki lub wprost na scenę.

Współdzielony symbol zostanie dodany do bieżącej biblioteki i będzie dostępny do wykorzystania w filmie. Wybierz Options/Linkage w celu sprawdzenia, czy symbol jest połączony ze współdzieloną biblioteką (rys. 12.6).

  1. Użyj współdzielonego symbolu w swoim filmie. Wyeksportuj plik SWF, a następnie umieść go, wraz z plikiem SWF współdzielonej biblioteki, w tej samej lokalizacji (rys. 12.7).

Kiedy odtworzysz film używający wspólnego symbolu, symbol ten zostanie wczytany ze współdzielonej biblioteki zapisanej w pliku SWF.

Wskazówka

  • Jeśli dokonasz jakichś zmian wśród symboli ze współdzielonej biblioteki, wszystkie filmy SWF, używające tych symboli, zostaną automatycznie uaktualnione w celu odzwierciedlenia wprowadzonych przez ciebie zmian. Jednak otwierając plik FLA używający współdzielonego symbolu, zauważysz, że ten symbol, znajdujący się w bibliotece, nie został uaktualniony. Musisz więc zaimportować symbol ze współdzielonej biblioteki ponownie, jeśli jego obraz w bieżącej bibliotece ma również zostać uaktualniony.

0x01 graphic

Rys. 12.5. Biblioteka po lewej zawiera symbol przeznaczony do współdzielenia. Biblioteka po prawej to twoja bieżąca biblioteka

0x01 graphic

Rys. 12.6. Okno dialogowe Symbol Linkage Properties wskazuje, że ten symbol jest importowany z pliku o nazwie sharedLibrary.swf

0x01 graphic

Rys. 12.7. Dwa pliki SWF umieszczono w tej samej lokalizacji

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Rys. 12.8. Okno dialogowe Symbol Linkage Properties wskazuje, że ten symbol jest importowany z pliku o nazwie sharedLibrary.swf, znajdującego się w folderze sharedFolder

0x01 graphic

Rys. 12.9. Dwa pliki SWF umieszczone w różnych lokalizacjach

0x01 graphic

0x01 graphic

Rys. 12.11. Ścieżka dostępu podana w polu URL określa lokalizację współdzielonych symboli. Umieść zatem swoją współdzieloną bibliotekę w miejscu, na które wskazuje pole URL

Domyślną lokalizacją dla współdzielonej biblioteki jest katalog zawierający plik SWF, korzystający z tej biblioteki. Jeśli chciałbyś umieścić bibliotekę w innej lokalizacji, musisz podać do jej pliku bezwzględną lub względną ścieżkę dostępu. Można to zrobić zarówno w pliku samej biblioteki, jak i w pliku, który tej współdzielonej biblioteki używa.

W celu wprowadzenia innej lokalizacji dla współdzielonej biblioteki:

  1. W pliku, korzystającym ze współdzielonej biblioteki, zaznacz wspólny symbol z tej biblioteki i wybierz polecenie Linkage z menu rozwijanego biblioteki Options.

Pojawi się okno dialogowe Symbol Linkage Properties. Zaznaczona będzie pozycja Import this symbol w opcji URL, a w dolnym polu ukaże się bieżąca ścieżka dostępu do współdzielonej biblioteki.

  1. Wprowadź nową ścieżkę dostępu do współdzielonej biblioteki. Kliknij OK (rys. 12.8).

  2. Powtórz powyższy proces dla wszystkich współdzielonych symboli.

  3. Wyeksportuj plik SWF. Umieść ten plik, jak i bibliotekę w odpowiednich katalogach, żeby Flash mógł odnaleźć współdzielone symbole (rys. 12.9).

lub

  1. W pliku, zawierającym współdzieloną bibliotekę, wybierz Shared Library Properties z menu rozwijanego Options biblioteki (rys. 12.10). Pojawi się okno dialogowe Shared Library Properties.

  1. W polu URL wpisz ścieżkę dostępu do współdzielonej biblioteki. Kliknij OK (rys. 12.11).

  2. W nowym dokumencie Flasha otwórz współdzieloną bibliotekę i przeciągnij wspólne symbole na scenę lub do bieżącej biblioteki dokumentu. Współdzielone symbole będą połączone ze współdzieloną biblioteką, określoną w polu URL okna dialogowego Shared Library Properties.

0x08 graphic
Współdzielenie fontów

Tak jak możesz identyfikować współdzielone symbole, tak też istnieje możliwość tworzenia symboli pozwalających na współdzielenie fontów. Po utworzeniu symbolu czcionki, identyfikujesz go jako przeznaczony do wyeksportowania (Linkage) w procesie identycznym, jak w przypadku tworzenia współdzielonych symboli. Jeśli wiele filmów używa tego samego fontu ze współdzielonej biblioteki, jest on wczytywany tylko raz dla pierwszego filmu, redukując w ten sposób rozmiar pliku i czas wczytywania kolejnych filmów.

W celu utworzenia
współdzielonego symbolu fontu:

  1. Otwórz okno biblioteki. Z menu rozwijanego Options wybierz New Font (rys. 12.12).

Pojawi się okno dialogowe Font Symbol Properties.

  1. W polu Name wpisz nazwę twojego nowego symbolu fontu. W polu Font wybierz czcionkę, którą zamienisz na symbol fontu. Opcjonalnie zaznacz pola wyboru grupy Style. Kliknij OK (rys. 12.13).

W bibliotece pojawi się symbol fontu.

  1. Zaznacz symbol fontu. Z menu rozwijanego biblioteki Options wybierz Linkage.

Pojawi się okno dialogowe Symbol Linkage Properties.

  1. Z grupy opcji Linkage wybierz Export this symbol. W polu Identifier wpisz unikalną nazwę dla twojego symbolu. Kliknij OK (rys. 12.14).

Wybrany symbol fontu jest już oznaczony jako element do wyeksportowania i współdzielenia przez inne filmy.

  1. Wyeksportuj film Flasha do pliku SWF.

Wybrany symbol fontu będzie rezydował w pliku SWF, udostępniającym ów współdzielony font innym filmom.

0x01 graphic

Rys. 12.12. W oknie biblioteki wybierz Options/New Font

0x01 graphic

Rys. 12.13. Utwórz symbol fontu, wybierając czcionkę i nadając mu nazwę w oknie dialogowym Font Symbol Properties

0x01 graphic

Rys. 12.14. Oznacz swój symbol fontu jako przeznaczony do współdzielenia za pomocą okna dialogowego Symbol Linkage Properties

0x08 graphic
0x01 graphic

Rys. 12.15. Współdzielone fonty są dostępne na palecie Character jako oznaczone gwiazdką, widoczną obok ich nazwy

W celu użycia
współdzielonego symbolu fontu:

  1. W celu otwarcia biblioteki zawierającej współdzielony symbol fontu - powtórz czynności opisane w ćwiczeniu „W celu utworzenia współdzielonej biblioteki”.

  1. Przeciągnij wspólny symbol fontu z współdzielonej biblioteki do biblioteki nowego pliku Flasha.

Współdzielony symbol fontu pojawi się na liście dostępnych fontów palety Character.

  1. Wybierz narzędzie tekstowe (Text Tool), a następnie współdzielony symbol fontu z palety Character (rys. 12.15).

0x08 graphic
Edytowanie skryptu

Kiedy skrypt widoczny w oknie skryptu palety akcji staje się długi i rozbudowany, możesz zacząć go sprawdzać, edytować i zarządzać jego zawartością za pomocą poleceń dostępnych w menu rozwijanym palety akcji. Oprócz możliwości wyboru pomiędzy trybami Normal i Expert, menu to udostępnia opcje szukania i zastępowania wyrazów, importowania i eksportowania skryptów, jak również drukowania skryptu oraz różne sposoby jego wyświetlania (rys. 12.16). Wszystkie te funkcje są dostępne w obydwu trybach pracy palety - Normal i Expert.

W celu sprawdzenia składni skryptu:

  1. Na palecie akcji wybierz Check Syntax z menu rozwijanego opcji (Ctrl+T).

Flash sprawdzi zawartość okna skryptu w poszukiwaniu błędów w składni. W przypadku odnalezienia błędu, zobaczysz ostrzegawcze okno dialogowe i listę ewentualnych błędów wyświetloną w oknie Output (rys. 12.17). Wykorzystaj informacje zawarte w tym oknie do zlokalizowania i naprawienia zgłoszonych błędów.

Wskazówka

  • Polecenie Check Syntax informuje o błędach tylko odnośnie bieżącej zawartości okna skryptu. Jeśli żadne błędy nie zostaną znalezione, zobaczysz okno dialogowe informujące o braku błędów w skrypcie (rys. 12.18).

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x01 graphic

Rys. 12.16. Menu rozwijane opcji palety akcji zawiera funkcje edycyjne dla okna skryptu

0x08 graphic
0x01 graphic

Rys. 12.17. Napisany skrypt (u góry) zawiera niepotrzebnie wstawioną klamrę zamykającą. Flash informuje cię o rodzaju i lokalizacji błędu w oknie Output (u dołu)

0x01 graphic

Rys. 12.18. Flash informuje także o tym, że twój skrypt jest wolny od błędów składni

0x01 graphic

Rys. 12.19. Każde wystąpienie wyrażenia _root.myPaddle._x zostanie zamienione na _root.myPaddle._y

Używaj funkcji Find oraz Replace, dostępnych na palecie akcji, do szybkiej zmiany nazw zmiennych, właściwości, a nawet akcji. Przykładowo, jeśli utworzyłeś długi skrypt, w którym pojawia się zmienna redTeamStatus, możesz skopiować i wkleić skrypt, a następnie zmienić wszystkie elementy redTeamStatus na blueTeamStatus. Możliwe jest wyszukanie wszystkich występujących w skrypcie właściwości _x i zamienienie ich na właściwości _y, albo odnalezienie wszystkich wystąpień akcji gotoAndStop i wstawienie na ich miejsce akcji gotoAndPlay.

W celu odnalezienia elementu
skryptu i zastąpienia go innym:

  1. Wybierz Replace z menu rozwijanego opcji palety akcji (Ctrl+H).

Pojawi się okno dialogowe Replace.

  1. W polu Find what podaj słowo lub słowa, które Flash ma odnaleźć. W polu Replace wpisz słowo lub słowa, które mają zastąpić wyszukane elementy. Zaznacz pole wyboru Match case, jeśli Flash powinien rozpoznawać wielkie i małe litery (rys. 12.19).

  2. Kliknij Replace w celu zamiany pierwszego odnalezionego słowa, ewentualnie kliknij Replace all, jeśli chcesz od razu zamienić wszystkie wystąpienia odnalezionego słowa.

Wskazówki

  • Okno dialogowe Replace zastępuje wszystkie wystąpienia danego słowa lub frazy innymi, tylko odnośnie bieżącej zawartości okna skryptu. W celu zamiany wszystkich wystąpień wybranego słowa w całym filmie, musisz otwierać paletę akcji dla każdego oddzielnego skryptu i powtarzać cały proces.

  • W celu odnajdywania i zastępowania słów musisz uruchomić paletę akcji w trybie Expert.

0x08 graphic
Funkcje importowania, eksportowania i drukowania, dostępne na palecie akcji, pozwalają ci korzystać z zewnętrznych edytorów tekstu i drukować zawartość okna skryptu.

W celu zaimportowania skryptu:

  1. Wybierz Import From File z menu rozwijanego opcji (Ctrl+I). W oknie dialogowym, które się pojawi, wybierz plik tekstowy zawierający skrypt wybrany do zaimportowania. Kliknij Open.

Flash zastąpi bieżącą zawartość okna skryptu zawartością importowanego pliku tekstowego.

W celu wyeksportowania skryptu:

  1. Wybierz Export As File z menu rozwijanego opcji (Ctrl+O). Wpisz nazwę pliku tekstowego, w którym przechowywany będzie eksportowany skrypt. Kliknij Save.

Flash dokona zapisu pliku tekstowego, w którym znajdzie się cała bieżąca zawartość okna skryptu. Polecane dla eksportowanych w ten sposób plików rozszerzenie to .as, jak w mójKod.as.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x01 graphic

Rys. 12.20. Flash dołącza zewnętrzny skrypt za pomocą akcji #include po wyeksportowaniu pliku SWF (z lewej). Natomiast współdzielona biblioteka jest dołączana do pliku SWF w czasie odtwarzania (z prawej)

Dołączanie
zewnętrznych skryptów

Możliwe jest tworzenie zewnętrznych plików ActionScript w celu współdzielenia pewnych fragmentów kodu przez wiele filmów. Utwórz taki kod, pojawiający się wielokrotnie w różnych filmach, i trzymaj go w pliku tekstowym poza środowiskiem Flasha. Gdybyś chciał coś w nim zmienić, będziesz musiał to zrobić tylko raz, w jednym miejscu.

Zewnętrzne fragmenty kodu można dołączać do filmu Flasha za pomocą akcji #include, która wprowadza do Flasha taki zewnętrzny plik tekstowy ze skryptem i dołącza jego zawartość do istniejącego już w oknie skryptu kodu.

Jednakże istnieje zasadnicza różnica pomiędzy używaniem akcji #include do współdzielenia kodu ActionScript i używaniem współdzielonych bibliotek do dzielenia symboli. Dołączany z zewnątrz kod ActionScript nie jest kompilowany dynamicznie w czasie odtwarzania, tak więc zachodzi potrzeba powtórnego wyeksportowania filmu Flasha, jeśli taki kod ma zostać wprowadzony do bieżącego skryptu. Oznacza to, że akcja #include, chociaż użyteczna, ma ograniczone działanie w środowisku autorskim Flasha (rys. 12.20).

0x08 graphic
W poniższym ćwiczeniu przypiszemy akcję #include do klipu filmowego. Dokument tekstowy zawiera akcję ActionsScript typu startDrag. Po wyeksportowaniu pliku SWF, kod z zewnętrznego dokumentu tekstowego zostanie dołączony do akcji przypisanych do klipu filmowego.

W celu dołączenia
zewnętrznego fragmentu skryptu
za pomocą akcji #include:

  1. Uruchom edytor tekstu, np. systemowy Notatnik.

  1. Napisz swój kod ActionScript i zapisz go w postaci dokumentu tekstowego. Nie używaj znaków cudzysłowu. Nadaj plikowi rozszerzenie .as, dzięki czemu zostanie zidentyfikowany jako plik ActionScript (rys. 12.21).

  2. Otwórz nowy dokument Flasha. Utwórz symbol klipu filmowego i umieść jego klon na scenie. Zaznacz klon i otwórz paletę akcji.

  3. Wybierz Actions/onClipEvent. W bloku edycji parametrów zaznacz zdarzenie Load.

  4. Wybierz Actions/include (Esc + in).

  5. W polu Path wpisz nazwę pliku tekstowego zawierającego kod ActionScript. Nie wpisuj znaków cudzysłowu, jako że zostaną one dodane automatycznie w oknie skryptu (rys. 12.22).

  6. Zapisz plik FLA w tej samej lokalizacji, co plik tekstowy z kodem ActionScript.

  7. Wyeksportuj plik SWF z pliku FLA. Flash dołączy do klipu filmowego kod zawarty w dokumencie tekstowym. Jeśli zmienisz zawartość pliku tekstowego, będziesz musiał ponownie wyeksportować plik SWF w celu uwzględnienia przez Flasha tych zmian.

0x01 graphic

Rys. 12.21. Fragment skryptu zapisany w pliku tekstowym myCode.as

0x01 graphic

Rys. 12.22. Podczas wprowadzania tego klipu filmowego do pamięci, zewnętrzny plik tekstowy o nazwie myCode.as jest dołączany do tego fragmentu skryptu

Wskazówka

  • Jeśli korzystasz z palety akcji w trybie Expert przy ręcznym wpisywaniu skryptu, nie dołączaj średnika na końcu wyrażenia #include. Chociaż średniki zazwyczaj służą do oddzielania poszczególnych wyrażeń, #include jest tutaj wyjątkiem.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x01 graphic

Rys. 12.23. Paleta Movie Explorer wyświetla w hierarchicznej postaci różne elementy filmu

Posługiwanie się
paletą Movie Explorer

Jeśli chcesz obejrzeć cały swój film „z lotu ptaka”, wykorzystaj paletę Movie Explorer (Ctrl+Alt+M). Jest to potężne narzędzie - do śledzenia wszystkich elementów filmu - które pomoże ci dotrzeć bezpośrednio do wybranego fragmentu skryptu, grafiki czy też ujęcia przeznaczonego do modyfikacji. Paleta Movie Explorer pozwoli przedstawiać wybiórczo graficzną reprezentację komponentów filmu i uzyska informacje o poszczególnych ujęciach, warstwach, jak również fragmentach skryptu przypisanych do przycisków, klipów filmowych i ujęć kluczowych. Wyświetlana zawartość jest ułożona hierarchicznie, dzięki czemu łatwo dostrzec powiązania pomiędzy różnymi elementami filmu (rys. 12.23).

Paleta Movie Explorer jest uaktualniana w czasie rzeczywistym, tak więc kiedy pracujesz w środowisku autorskim Flasha, paleta zawsze wyświetla wyniki ostatnich modyfikacji. Korzystaj z niej w celu odnajdywania określonych elementów filmu. Na przykład, jeśli chcesz znaleźć wszystkie klony klipu filmowego, możesz nakazać Flashowi wyszukanie ich, a następnie wyświetlenie dokładnej sceny, warstwy i klatki, w której rezyduje każdy z klonów. Później możesz szybko udać się do wskazanego punktu na listwie czasowej i dokonać edycji takiego klonu. Ponadto w samej palecie Movie Explorer możesz edytować różne elementy, np. nazwy symboli lub zawartość selekcji tekstu. Paleta Movie Explorer znacznie ułatwia orientację w rozbudowanym filmie z racji wyświetlania zawartości na różne sposoby i szybkiego nawigowania do wskazanego elementu.

0x08 graphic
W celu wyświetlania
różnych kategorii elementów:

Z rozwijanego menu opcji w prawym górnym rogu palety Movie Explorer wybierz jedną (lub więcej) z opcji (rys. 12.24):

  1. Show Movie Elements wyświetla wszystkie elementy filmu, organizując je według scen. Pokazywana jest tylko bieżąca scena.

lub

Show Symbol Definitions wyświetla wszystkie elementy powiązane z klonami symboli obecnymi na scenie.

lub

Show All Scenes wyświetla wszystkie elementy filmu we wszystkich scenach.

W celu wyświetlenia
wybranych kategorii elementów:

Z rzędu przycisków określających sposób wyświetlania zawartości, umieszczonych w górnej części palety, kliknij jeden lub więcej, żeby dodać kolejne kategorie elementów do wyświetlenia (rys. 12.25).

  1. Show Text wyświetla bieżący łańcuch znakowy w selekcji tekstu, nazwę i rozmiar czcionki, a także nazwy zmiennych tekstu pobieranego i dynamicznego.

lub

Show Buttons, Movie Clips, and Graphics wyświetla nazwy symboli przycisków, klipów filmowych i grafik na scenie, jak również nazwy klonów klipów filmowych.

lub

Show ActionScripts wyświetla akcje przypisane przyciskom, klipom filmowym i ujęciom.

lub

Show Video, Sound, and Bitmaps wyświetla nazwy symboli zaimportowanych klipów wideo, dźwięków i bitmap obecnych na scenie.

0x01 graphic

Rys. 12.24. Menu rozwijane opcji palety Movie Explorer

0x01 graphic

Rys. 12.25. Przyciski sposobu wyświetlania zawartości pozwalają selektywnie wybierać wyświetlane elementy

0x08 graphic
0x01 graphic

Rys. 12.26. Wpisanie dowolnej frazy w polu Find spowoduje wyświetlenie wszystkich miejsc jej wystąpienia. Tutaj została znaleziona nazwa klonu myReferecnePoint odnosząca się do symbolu klipu filmowego ball

lub

Show Frames and Layers wyświetla nazwy warstw, ujęć kluczowych i etykiet poszczególnych klatek filmu.

lub

Customize which Items to Show wyświetla okno dialogowe, w którym możesz dokonać wyboru elementów przeznaczonych do wyświetlenia.

W celu odnalezienia i edycji wyświetlanych elementów:

  1. W polu Find u góry palety wpisz nazwę elementu, który chcesz odnaleźć (rys. 12.26).

Wszystkie elementy filmu o podanej nazwie zostaną wyświetlone automatycznie w czasie wpisywania.

  1. Kliknij wybrany element, żeby go zaznaczyć.

Spowoduje to jednocześnie zaznaczenie tego elementu na listwie czasowej i na scenie. Jeśli zaznaczono scenę lub ujęcie kluczowe, Flash przeniesie cię do tej sceny lub ujęcia kluczowego.

  1. Z menu rozwijanego opcji palety Movie Explorer wybierz Edit in Place lub Edit in New Window - w celu uruchomienia trybu edycji wybranego symbolu.

lub

  1. Z menu rozwijanego opcji wybierz Rename. Umożliwi to zaznaczenie i edycję nazwy elementu.

lub

Kliknij dwukrotnie wybrany element w celu zmodyfikowania go. W zależności od typu elementu, Flash może otworzyć dodatkowe okno:

  • Dwukrotne kliknięcie symbolu (z wyjątkiem dźwięku, wideo i bitmap) uruchamia tryb edycji symbolu.

  • Dwukrotne kliknięcie skryptu otwiera paletę akcji.

  • 0x08 graphic
    0x08 graphic
    Dwukrotne kliknięcie sceny lub warstwy pozwala ci na zmianę nazwy tych elementów.

  • Dwukrotne kliknięcie ujęcia otwiera palety mające związek z edycją ujęć (paleta akcji, Frame i Sound).

  • Dwukrotne kliknięcie selekcji tekstu pozwala na edycję jej zawartości.

W celu wymiany wszystkich wystąpień określonego fontu:

  1. W polu find palety Movie Explorer wpisz nazwę fontu, który chcesz zastąpić innym.

Wyświetlone zostaną wszystkie miejsca występowania tego fontu (rys. 12.27).

  1. Zaznacz wszystkie elementy tekstowe - kliknięcie z przytrzymaniem Shift pozwala dokonać kilku selekcji jednocześnie.

  2. Posługując się paletą Character, wybierz nową czcionkę i styl dla wszystkich elementów tekstowych.

Wszystkie zaznaczone elementy zmienią się stosownie do modyfikacji, jakie wprowadziłeś na palecie Character (rys. 12.28).

W celu wyszukania wszystkich
klonów symbolu klipu filmowego:

  1. W polu find palety Movie Explorer wpisz nazwę symbolu klipu filmowego, którego klony chcesz odnaleźć. Wyświetlone zostaną wszystkie klony wybranego klipu filmowego (rys. 12.29).

0x01 graphic

0x01 graphic

Rys. 12.27. Wyświetlone zostaną wszystkie miejsca występowania fontu Times

0x01 graphic

Rys. 12.28. Mając zaznaczone elementy tekstowe pisane czcionką Times, wybierz inny font, np. Verdana (u góry) z listy na palecie Character. Flash wymieni czcionkę zaznaczonych elementów tekstowych z Times na Verdana (u dołu)

0x08 graphic
0x01 graphic

Rys. 12.30. Obiekt myArray jest tworzony za pomocą funkcji konstruktora new Array

Wyświetlanie zmiennych
i obiektów w oknie Output

Chociaż paleta Movie Explorer daje dostęp do większości elementów graficznych filmu oraz fragmentów skryptu, to jednak nie umożliwia wyświetlania zmiennych lub ścieżek dostępu do obiektów. W tym celu używa się okna Output. Często w czasie odtwarzania filmu będziesz chciał znać wartości przyjmowane przez zmienne i ścieżki dostępu do klipów filmowych, żeby móc ocenić, czy Flash właściwie manipuluje danymi. Jest to szczególnie ważne w przypadku najbardziej skomplikowanych filmów, być może zawierających wiele parametrów przekazywanych między funkcjami lub dużą ilość dynamicznie przydzielanych zmiennych. Załóżmy na przykład, że chcesz zadeklarować i wypełnić obiekt tablicowy w pierwszym ujęciu na listwie czasowej. Po przypisaniu skryptu do odpowiedniego ujęcia, możesz przetestować film, ale tak naprawdę nie będziesz wiedział, czy Flash właściwie wypełnił tablicę, jako że na scenie nie będzie widać nic konkretnego. W celu sprawdzenia, czy tablica jest rzeczywiście wypełniona poprawnymi wartościami, możesz wyświetlić zmienne w oknie Output w trybie testowym. Polecenie List Variables wyświetla wszystkie zmienne istniejące w filmie wraz z przypisanymi im wartościami.

W kolejnym ćwiczeniu utworzysz najpierw obiekt tablicowy, a następnie przypiszesz mu wartości za pomocą wyrażenia wykonywanego w pętli. Będąc w trybie testowym, wyświetlisz zmienne filmu w oknie Output, żeby zobaczyć ostateczne wartości podstawione do tablicy.

W celu wyświetlenia zmiennych
w oknie Output:

  1. Zaznacz pierwsze ujęcie na głównej listwie czasowej i otwórz paletę akcji.

  1. Przygotuj klon nowego obiektu tablicowego o nazwie myArray (moja tablica), jak to opisano w rozdziale 11 (rys. 12.30).

  1. 0x08 graphic
    Wybierz Actions/for. W polu Init wpisz i=0. W polu Condition wpisz i<5. W polu Next wpisz i++ (rys. 12.31).

  2. Wybierz Actions/set variable. W polu Variable wpisz myArray[i]. W polu Value podaj i*5. Zaznacz pole wyboru Expression obok pola Value.

Po każdym wykonaniu pętli przez wyrażenie for, wartość i zwiększa się o 1. Flash przypisuje każdemu wpisowi w tablicy myArray wartość jego indeksu pomnożoną przez 5. Pętla ta wypełnia tablicę myArray (rys. 12.32).

  1. Przetestuj film. W trybie testowym, wybierz na pasku menu Debug/List Variables (Ctrl+Alt+V).

Otworzy się okno Output, ukazujące wszystkie zmienne pojawiające się w filmie. Pierwszą widoczną zmienną jest $version, informująca o wersji przeglądarki Flasha i platformie systemowej. Drugą zmienną jest obiekt myArray. Flash wyświetla jego lokalizację (_level0.myArray), typ danych (object) i wszystkie wartości w poszczególnych indeksach (0, 5, 10, 15, 20). Trzecią zmienną jest zmienna licznika, i, używana w wyrażeniu wykonywanym w pętli (rys. 12.33).

Wskazówka

  • Polecenie List Variables wyświetla wszystkie zmienne filmu odnośnie klonu, z poziomu którego wybierzesz polecenie z menu. Jeśli zmienne zmieniają się w czasie odtwarzania filmu, musisz wybrać polecenie List Variables ponownie, o ile chcesz obejrzeć aktualne wartości. W celu wyświetlania zmiennych w czasie rzeczywistym, posłuż się paletą Debugger, opisaną w dalszej części rozdziału.

0x01 graphic

Rys. 12.31. Stwórz pętlę, która zaczyna się od i=0 i zwiększa wartość o 1, dopóki nie przyjmie wartości 4

0x01 graphic

Rys. 12.32. Obiekt myArray jest automatycznie wypełniany wartościami okreśonymi przez wykonywane w pętli wyrażenie

0x01 graphic

Rys. 12.33. W trybie testowym wybierz Debug/List Variables, żeby zobaczyć wszystkie aktualne zmienne. Wyświetlone zostaną obiekt myArray oraz jego zmienne, umożliwiając sprawdzenie wyrażenia wykonywanego w pętli

0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Rys. 12.34. Ten sam film wyświetlany na palecie Movie Explorer (u góry) oraz w oknie Output (u dołu). Na palecie Movie Explorer widoczny jest klip filmowy spaceship, jego przycisk i akcje przypisane do przycisku. Okno Output wyświetla ścieżkę dostępu do klipu filmowego spaceship i wskazuje, że wewnątrz klipu są jeszcze kształt oraz przycisk. Ponadto okno Output informuje, że w ujęciu 64. umieszczony jest klip filmowy asteroid (w momencie, kiedy wybrano polecenie List Objects)

0x01 graphic

Rys. 12.35. W trybie testowym wybierz Debug/List Objects

Okno Output można też wykorzystać do wyświetlania obiektów w filmie. Ponieważ okno to nie wyświetla informacji w charakterze graficznym, możesz uzyskać w nim informacje niedostępne z poziomu palety Movie Explorer (posługującej się właśnie taką graficzną reprezentacją elementów). Informacje o obiektach, wyświetlane w oknie Output, zawierają poziom obiektu, numer ujęcia, typ symbolu (klip filmowy, przycisk), typ grafiki (tekst, kształt) i bezwzględną ścieżkę dostępu do klipów filmowych. Ścieżka dostępu jest najważniejszą informacją, którą możesz uzyskać w oknie Output wprost (Movie Explorer wyświetla informacje ościeżkach pośrednio). rys. 12.34 przedstawia porównanie typowych informacji wyświetlanych dla jednego filmu, zarówno w oknie Output, jak i za pomocą palety Movie Explorer.

W celu wyświetlenia obiektów
w oknie Output:

  1. W trybie testowym, wybierz z górnego paska menu Debug/List Objects (Ctrl+L) (rys. 12.35).

W oknie Output zostaną wyświetlone wszystkie obiekty filmu w aktualnym stanie.

Wskazówka

  • Podobnie jak w przypadku polecenia List Variables, polecenie List Objects wyświetla jedynie aktualny w momencie wybrania status filmu. Jeśli klip filmowy znika z listwy czasowej w czasie odtwarzania filmu, musisz ponownie wybrać polecenie List Objects w celu odświeżenia informacji o obiektach, wyświetlanych w oknie Output.

0x08 graphic
Śledzenie zmiennych
w oknie Output

Czasem będziesz chciał znać status zmiennej lub wyrażenia w określonym momencie w czasie odtwarzania filmu. Przykładowo, wyobraź sobie, że przygotowałeś grę Pong, w której klip filmowy w formie piłeczki odbija się od dwóch innych klipów filmowych, przedstawiających rakietki. Chcesz poznać, na potrzeby testów, pozycję rakietki w momencie jej kolizji z piłeczką. Użycie w tym miejscu polecenia List Variables niewiele pomoże, jako że zmienne obrazujące położenie rakietki zmieniają się bardzo szybko. Rozwiązaniem jest skorzystanie z akcji trace. Możesz umieścić tę akcję w dowolnym punkcie filmu i tym samym nakazać Flashowi wysyłanie wybranego komunikatu do okna Output w trybie testowym. Tym komunikatem będzie wyrażenie, utworzone w celu przekazywania ci potrzebnej informacji we właściwym momencie. W przypadku wspomnianej gry Pong, wyrażenie śledzące mogłoby wyglądać tak:

trace ("pozycja X rakietki wynosi " + mojaRakietka._x);

trace ("pozycja Y rakietki wynosi " + mojaRakietka._y);

Umieść powyższe wyrażenia w wyrażeniu warunkowym, odpowiadającym za detekcję kolizji. W przypadku spełnieniu warunku, Flash wyśle komunikat (w momencie wystąpienia kolizji) do okna Output. Komunikat może wyglądać następująco:

pozycja X rakietki wynosi 25

pozycja y rakietki wynosi 89

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Rys. 12.36. Akcja startDrag sprawi, że ten klip filmowy będzie podążał za wskaźnikiem myszy

0x01 graphic

Rys. 12.37. Akcja trace szacuje wyrażenie w polu Message i wyświetla wartość w oknie Output

0x01 graphic

Rys. 12.38. Okno Output wyświetla wartość false (fałsz), jeśli nie zachodzi kolizja między klipami filmowymi myMovieClip i rock (u góry). W przypadku nastąpienia kolizji, w oknie Output pojawi się wartość true (prawda) (u dołu)

Akcji trace można też użyć do monitorowania warunku wyrażenia, dzięki czemu będziesz mógł zrozumieć okoliczności zmieniające jego wartość. Na przykład w poniższym ćwiczeniu, utworzysz prosty przeciągany klip filmowy oraz drugi klip, tym razem stacjonarny. Przypiszesz akcję trace do metody hitTest przeciąganego klipu filmowego, pozwalającej zobaczyć, kiedy i gdzie wartości są prawdziwe lub fałszywe.

W celu
wyświetlenia wyrażenia
w oknie Output:

  1. Utwórz symbol klipu filmowego, umieść jego klon na scenie i nazwij go myMovieClip (mój klip filmowy).

  1. Utwórz kolejny symbol klipu filmowego, umieść jego klon na scenie i nazwij go rock (skała).

  2. Zaznacz klon o nazwie myMovieClip i otwórz paletę akcji.

  3. Wybierz Actions/on. W bloku edycji parametrów wybierz zdarzenie enterFrame.

  4. Wybierz Actions/startDrag. Wpisz this w polu Target i zaznacz pole Expression. Zaznacz też pole Lock mouse to center (rys. 12.36).

  5. Wybierz Actions/trace (Esc + tr).

  6. W polu Message wprowadź wyrażenie:

this.hitTest(_root.rock)

Zaznacz pole Expression (rys. 12.37).

Flash oszacuje metodę hiTest w celu ustalenia, czy przeciągany klip filmowy wchodzi w kolizję z klipem filmowym rock. Zwracana wartość jest wyświetlana w oknie Output w trybie testowym.

  1. Przetestuj film.

Otworzy się okno Output, wyświetlając rezultat działania akcji trace (rys. 12.38).

0x08 graphic
W połączeniu z akcją trace można jeszcze użyć operatora typeof i w efekcie uzyskać informację o typie danych przechowywanych w zmiennej. Informacja tego rodzaju staje się bardzo użyteczna w momencie, kiedy zaczynasz doświadczać problemów z niespodziewanymi wartościami zmiennych. Jeśli podejrzewasz, że problem ten jest wynikiem używania zmiennych, które nie są zgodne z typem przechowywanych w nich danych, skorzystanie z akcji trace pomoże potwierdzić lub rozwiać twoje przypuszczenia.

W celu określenia typu danych przechowywanych w zmiennej:

  1. Kontynuuj pracę nad plikiem utworzonym wcześniej, w ćwiczeniu „W celu wyświetlenia zmiennych w oknie Output”. Jest to plik, w którym utworzyłeś tablicę i wypełniłeś ją wyrażeniem wykonywanym w pętli. Zaznacz więc pierwsze ujęcie i otwórz paletę akcji.

  1. Zaznacz klamrę zamykającą ostatniego wyrażenia w oknie skryptu.

  2. Wybierz Actions/trace.

  3. W polu Message wybierz Operators/typeof. W polu Message pojawi się operator typeof, z podświetlonym argumentem wyrażenia.

  4. W miejsce podświetlonego słowa wpisz myArray (rys. 12.39).

Flash oszacuje zmienną myArray i wyświetli jej typ danych w oknie Output w trybie testowym.

  1. Dodaj jeszcze dwie akcje trace z operatorami typeof (rys. 12.40).

  2. Przetestuj film. Flash wyświetli rezultaty działania trzech wyrażeń w oknie Output w trybie testowym. Pierwsze wyrażenie wyświetli object (obiekt) jako typ danych zmiennej myArray. Drugie wyświetli number (liczba) jako typ danych zmiennej myArray[3], a trzecie wyrażenie wskaże na string (łańcuch znakowy) zmiennej myArray.toString() (rys. 12.41).

0x01 graphic

Rys. 12.39. Typ danych zawartych w tablicy myArray zostanie oszacowany

0x01 graphic

Rys. 12.40. Dodaj akcje trace w celu oszacowania i wyświetlenia typów danych 3. indeksu tablicy myArray oraz metody toString tej tablicy

0x01 graphic

Rys. 12.41. Rezultaty wykonania akcji trace widoczne w oknie Output

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Rys. 12.42. Paleta Debugger wyświetla hierarchię klipów filmowych wraz z wszystkimi ich właściwościami i zmiennymi. Tutaj, zmienne myDegrees, myRadians i pressing są osadzone w klipie filmowym _level0.myReferencePoint

0x01 graphic

Rys. 12.43. Użyj menu Control do kontrolowania sposobu odtwarzania filmu w trybie testowym

Posługiwanie się
paletą Debugger

Paleta Debugger daje ci możliwość monitorowania i modyfikowania wartości wszystkich zmiennych i właściwości występujących w filmie, i to w czasie jego odtwarzania. Można nawet sprawdzać wartości obiektów przechowujących dane, takich jak klony obiektu daty lub dźwięku. Korzystaj z palety Debugger w celu sprawdzenia, czy Flash manipuluje informacjami zawartymi w zmiennych w określony przez ciebie sposób, a także w celu szybkiego sprawdzania warunków i innych efektów przetwarzania zmiennych. Wyobraź sobie np., że utworzyłeś animację ze zmienną o nazwie mojaSzybkość, kontrolującą prędkość poruszania się statku kosmicznego. Dzięki palecie Debugger zmienną tę możesz modyfikować podczas odtwarzania filmu i na bieżąco oceniać jej wpływ na ruch statku. Zwiększaj więc lub zmniejszaj wartość zmiennej tak długo, aż uzyskasz zadowalające rezultaty.

Paletę Debugger otwiera się i używa w specjalnej wersji odtwarzacza Flasha, dostępnej z poziomu środowiska autorskiego programu. Po otwarciu i uaktywnieniu, paleta Debugger wyświetla informacje w dwóch oknach: w oknie wyświetlania u góry palety oraz w zakładkach Properties, Variables i Watch w dolnej części palety. Okno wyświetlania pokazuje główną listwę czasową wraz z hierarchią klipów filmowych obecnych na tej listwie. Możesz zaznaczyć listwę główną albo inną, obecną w filmie, i zobaczyć właściwości przypisane do tej określonej listwy czasowej lub wszystkie osadzone w niej zmienne (rys. 12.42).

Użyj poleceń menu Control do przewijania, odtwarzania i przemieszczania się w przód i w tył w obrębie filmu, także klatka po klatce, w celu skrupulatnego sprawdzania właściwości i zmiennych filmu (rys. 12.43).

0x08 graphic
W celu uzyskania dostępu
do palety Debugger:

  1. Z poziomu środowiska autorskiego Flasha, wybierz Control/Debug Movie (Ctrl+Shift+Enter) (rys. 12.44).

Flash wyeksportuje plik SWF i uruchomi tryb testowy. Zostanie otwarta i uruchomiona paleta Debugger.

lub

  1. W trybie testowym środowiska autorskiego, w odtwarzaczu Flasha lub w przeglądarce internetowej, kliknij prawym klawiszem myszy film SWF.

Pojawi się menu podręczne Flasha (rys. 12.45).

  1. Z menu podręcznego wybierz Debugger. Zostanie otwarta i uruchomiona paleta Debugger.

W celu zmodyfikowania
właściwości lub zmiennej
z poziomu palety Debugger:

  1. W oknie wyświetlania palety Debugger zaznacz klip filmowy, którego właściwości lub zmienne chcesz modyfikować.

  1. Wybierz zakładkę Properties (właściwości) lub Variables (zmienne).

  2. Kliknij dwukrotnie pole w kolumnie Value, znajdujące się na prawo od właściwości lub zmiennej, którą chcesz zmodyfikować (rys. 12.46).

  3. Wprowadź nową wartość.

Nowa wartość musi być raczej stałą (łańcuch znakowy, liczba, wartość boole'owska), niż wyrażeniem odnoszącym się do innej zmiennej lub właściwości. Przykładowo, możesz wpisać 35, ale nie 35 + myAlpha. Po poprawnym podstawieniu nowej wartości, film natychmiast reaguje na zmiany.

0x01 graphic

Rys. 12.44. Wybierz Control/Debug Movie

0x01 graphic

Rys. 12.45. Dostęp do palety Debugger można uzyskać również za pośrednictwem menu podręcznego

0x01 graphic

Rys. 12.46. Wartości właściwości mogą być zaznaczane (u góry) i modyfikowane (u dołu), a wszelkie zmiany zostaną wprowadzone do filmu natychmiast, nawet w czasie jego odtwarzania

0x08 graphic
0x01 graphic

Rys. 12.47. Zaznaczona zmienna (myRadians) jest dodawana do zakładki Watch przy pomocy menu rozwijanego opcji

0x01 graphic

Rys. 12.48. Zaznaczona zmienna (myRadians) jest dodawana do zakładki Watch przy pomocy menu podręcznego

Wskazówka

  • Niektóre właściwości mają charakter tylko do odczytu i nie mogą być modyfikowane. Przykładowo, właściwość _totalframes jest taką wartością „odgórną”, określoną przez liczbę ujęć w twoim filmie.

Zakładka Variables palety Debugger pozwala śledzić tylko zmienne zogniskowane na tym samym poziomie. Gdybyś chciał obserwować zmienne należące do różnych poziomów struktury filmu, możesz posłużyć się zakładką Watch do wybrania odpowiednich zmiennych. Dzięki temu możesz utworzyć sobie listę krytycznych dla twojego filmu zmiennych i zgrupować je w jednym miejscu, pozwalającym na ich obserwację i modyfikację. Zmienne w zakładce Watch są wyświetlane wraz z ich bezwzględnymi ścieżkami dostępu, napisanymi w składni z ukośnikiem.

W celu dodania zmiennych
do zakładki Watch:

  1. Na palecie Debugger zaznacz w oknie wyświetlania główną listwę czasową lub klip filmowy.

  1. Zaznacz zmienną spośród wymienionych w zakładce Variables. Z menu rozwijanego opcji palety w jej prawym górnym rogu wybierz Add Watch (rys. 12.47).

Obok wybranej zmiennej pojawi się niebieska kropka, wskazując, że została ona wybrana do wyświetlania jej w zakładce Watch.

lub

  1. Zaznacz zmienną w zakładce Variables. Kliknij ją prawym klawiszem myszy. Z menu podręcznego wybierz Watch (rys. 12.48).

Obok wybranej zmiennej pojawi się niebieska kropka, wskazując, że została ona wybrana do wyświetlania jej w zakładce Watch.

0x08 graphic
lub

  1. Kliknij prawym klawiszem myszy puste miejsce w zakładce Watch. Z menu podręcznego wybierz Add (rys. 12.49). Wprowadź bezwzględną ścieżkę dostępu do zmiennej, posługując się składnią z ukośnikiem.

W celu usunięcia zmiennych
z zakładki Watch:

  1. W zakładce Watch - kliknij prawym klawiszem myszy zmienną i wybierz Remove z pojawiającego się menu podręcznego.

lub

W zakładce Variables - kliknij prawym klawiszem myszy zmienną i wybierz polecenie Watch (oznaczone „ptaszkiem”).

lub

W zakładce Variables lub Watch - zaznacz zmienną, a potem wybierz Remove Watch z menu rozwijanego opcji w prawym górnym rogu palety Debugger.

0x01 graphic

Rys. 12.49. Wybierz Add z menu podręcznego zakładki Watch w celu wprowadzenia zmiennej ręcznie

0x08 graphic
0x01 graphic

Rys. 12.50. Dobrze zorganizowane warstwy - jak te powyżej - są łatwe do ogarnięcia i wprowadzania zmian

Optymalizowanie filmu

Zrozumienie działania narzędzi, których używasz do tworzenia, grafiki, animacji, dźwięku i skryptu jest ważne, jednak nie mniej istotne jest uświadomienie sobie, jak zrobić z nich najlepszy użytek do przygotowywania efektywnie działających filmów Flasha. Takie filmy wymagają optymalizacji, która pozwala na zachowanie minimalnych rozmiarów pliku, płynnej animacji i prostych przeglądów. Wpływ na końcowy rozmiar i pracę pliku SWF ma wiele czynników. Bitmapy, dźwięki, skomplikowane kształty, przejścia tonalne, przezroczystości i osadzone fonty - wszystkie te elementy zwiększają rozmiar pliku i pogarszają jego wydajność. Tylko ty możesz wyważyć jakość z ilością i rozmiar z wydajnością. Pamiętaj o odbiorcach twoich filmów - czy mają połączenie z Internetem za pośrednictwem linii T1, czy też może korzystają z modemów 28,8 k? Znajomość odpowiedzi na to pytanie pomoże ci wybrać najwłaściwszą zawartość dla twojego filmu i efektywnie skonstruować całość.

Niżej przedstawione strategie z pewnością pomogą ci w opracowywaniu mniejszych, łatwiejszych w zarządzaniu i wydajniejszych filmów Flasha.

W celu optymalizacji
twojego środowiska autorskiego:

  1. Używaj warstw do oddzielania i organizowania zawartości filmu. Umieść, na przykład, wszystkie akcje na jednej warstwie, wszystkie etykiety ujęć na drugiej, dźwięki na trzeciej. Dzięki temu łatwiej ci będzie szybko oceniać i zmieniać różne elementy twojego filmu (rys. 12.50).

lub

Używaj jednolitego nazewnictwa w przypadku zmiennych, klipów filmowych, obiektów i innych elementów, które muszą być zidentyfikowane.

0x08 graphic
Unikaj zbędnej interpunkcji w nazwach. Jednolite i proste nazwy sprawiają, że funkcje poszczególnych zmiennych stają się bardziej oczywiste.

lub

Dołączaj do swoich skryptów komentarze, wyjaśniające znaczenie poszczególnych fragmentów kodu, zarówno tobie, jak i innym programistom, którzy mogą w przyszłości wprowadzać jakieś poprawki. Komentarz możesz również dołączać do ujęć kluczowych, w celu objaśnienia różnych partii listwy czasowej.

lub

Korzystaj z bloków dynamicznego tekstu jako dodatku do okna Output i palety Debugger w czasie obserwacji zmiennych obecnych w twoim filmie. Bloki dynamicznego tekstu umożliwiają wyświetlanie zmiennych i wyrażeń w kontekście twojego filmu.

lub

Unikaj stosowania wielu scen w swoich filmach. Chociaż stanowią one dobry element organizacyjny w przypadku prostych filmów, listwy czasowe zawierające sceny są trudniejsze w nawigacji od klipów filmowych. Ponadto klony klipów filmowych nie zachowują ciągłości pomiędzy scenami. Korzystaj raczej z etykiet do oznaczania różnych obszarów listwy czasowej.

W celu optymalizacji bitmap
i dźwięków dla poprawienia wydajności odtwarzania:

  1. Unikaj animowania dużych bitmap. Używaj takich obrazów raczej jako statycznego tła, ewentualnie zmniejszaj ich rozmiary, jeśli muszą być animowane.

lub

Dźwięki strumieniowe umieszczaj raczej na listwie czasowej, niż wewnątrz klipu filmowego.

0x08 graphic
0x01 graphic

Rys. 12.51. Jakość JPEG (JPEG Quality) oraz opcje kompresji audio (Audio Stream, Audio Event) dostępne w oknie dialogowym Publish Settings

Przed odtworzeniem klip filmowy musi zostać wczytany w całości. Natomiast dźwięk strumieniowy na listwie czasowej będzie odtwarzany już w momencie wczytywania filmu.

lub

Używaj maksymalnego dopuszczalnego stopnia kompresji dla bitmap i dźwięków. Poziom jakości zapisu JPEG dla eksportowanych plików SWF możesz ustawić w oknie Publish Settings. Możliwe jest także ustawienie stopnia kompresji oddzielnie dla dźwięków strumieniowych i zdarzeń dźwiękowych, dzięki czemu możesz zachować wyższą jakość dźwięku dla narracji i muzyki - kosztem niższej jakości w przypadku zdarzeń dźwiękowych towarzyszących klikaniu przycisków (rys. 12.51).

lub

Unikaj używania polecenia Trace Bitmap do tworzenia obrazów wektorowych stanowiących dokładne odwzorowanie importowanych bitmap. Złożoność zwektoryzowanej bitmapy może bardziej zwiększyć rozmiar pliku i zmniejszyć wydajność, niż dzieje się to w przypadku używania samej zaimportowanej bitmapy.

lub

Importuj bitmapy i dźwięki w rozmiarach dokładnie odpowiadających tym, jakich planujesz użyć we Flashu. Chociaż edycja we Flashu jest możliwa, lepiej jest importować tylko te informacje, których potrzebujesz i dzięki temu zaoszczędzić na wielkości pliku. Przykładowo, nie importuj bitmapy, którą we Flashu będziesz musiał zmniejszyć o 50 procent. Lepiej najpierw ją zmniejsz, a dopiero potem zaimportuj do Flasha.

0x08 graphic
W celu optymalizacji grafiki, tekstu
i sekwencji animowanych
dla poprawienia
wydajności odtwarzania:

  1. Gdzie tylko możesz, używaj automatycznie tworzonej animacji w miejsce animacji klatka po klatce. W przypadku automatycznych sekwencji animacji Flash musi pamiętać jedynie ujęcia kluczowe, co pozwala rzadziej odwoływać się do pamięci.

lub

Animuj pojedyncze symbole zamiast grup. W przypadku animacji grup, muszą być one wczytywane w całości, podczas gdy symbole mogą być ładowane pojedynczo. Ponadto grupy nie pozwalają na używanie efektów klonów, np. tinty, jasności czy przezroczystości. Używanie w animacjach grup utrudnia edycję, jako że musisz dokonywać tej samej edycji z osobna na każdej grupie, która wchodzi w skład ujęć kluczowych animacji.

lub

Unikaj tworzenia animacji, w których pojawia się wiele obiektów poruszających się w tym samym czasie, ewentualnie tych, które mają duże obszary zmian. Obydwie sytuacje spowalniają proces odtwarzania filmu.

lub

Rozdzielaj grupy w obrębie symboli w celu ich uproszczenia. Kiedy już będziesz usatysfakcjonowany ilustracją w symbolu, rozdziel grupy na kształty w celu jej „spłaszczenia”. Flash będzie miał do zapamiętania mniej krzywych i tym samym szybciej dokona animacji klonu symbolu. Także efekty przezroczystości klonu będą wtedy oddziaływać na cały symbol, a nie na indywidualne grupy w jego obrębie (rys. 12.52).

0x01 graphic

Rys. 12.52. Symbol zdefiniowany z użyciem oddzielnych grup (u góry z lewej) zawiera więcej informacji (u góry w środku) i może prowadzić do powstawania niepożądanych efektów przezroczystości (u góry z prawej). Symbol zdefiniowany jako kształt (u dołu z lewej) zawiera mniej informacji (u dołu w środku) i stanie się przezroczysty jako pojedyncza jednostka (u dołu z prawej)

lub

Z przejść tonalnych kolorów i przezroczystości staraj się korzystać możliwie najrzadziej.

lub

Korzystaj z palety Effect do zmiany koloru tinty i jasności klonów - w miejsce tworzenia oddzielnych symboli różnych kolorów.

lub

Optymalizuj krzywe, unikając stosowania specjalnych stylów linii (np. linii kropkowanej) i używając raczej narzędzia Pencil, niż Brush. Staraj się też redukować złożoność krzywych za pomocą polecenia Modify/Optimize (Ctrl+Alt+Shift+C).

lub

Korzystaj z niewielu fontów i dołączaj do plików tylko niezbędne czcionki.

0x08 graphic

Unikanie
najczęstszych błędów

Kiedy będziesz starał się rozwiązać problemy związane z funkcjonowaniem twojego filmu Flasha, wiedz, że istnieją pewne oczywiste miejsca, od których powinieneś rozpocząć poszukiwania źródła zamieszania. Błędy takie polegają zazwyczaj na pomijaniu cudzysłowów, względnych ścieżek dostępu czy nazw klonów. Zwróć szczególną uwagę na poniższą listę błędów, żeby uniknąć podobnych sytuacji we własnych projektach Flasha.

W celu
uniknięcia najczęstszych błędów:

  1. Sprawdzaj nawet dwukrotnie typ danych przedstawianych przez różne wartości. Przeglądaj okno skryptu, aby upewnić się, że wpisałeś znaki cudzysłowu tylko wokół łańcuchów znakowych. Słowo kluczowe this nie powinno być otaczane cudzysłowem. Ścieżki dostępu do klipów filmowych mogą być brane w cudzysłów jednak lepiej używać ich jako wyrażeń.

lub

Sprawdzaj dwukrotnie ścieżki dostępu do klipów filmowych, zmiennych i obiektów.

lub

Pamiętaj o nadawaniu nazw klonom klipów filmowych.

lub

Sprawdzaj, czy wyrażenia ActionScript zawierają właściwie rozmieszczone nawiasy i klamry. Przykładowo, wyrażenia należące do instrukcji if lub onClipEvent powinny znajdować się między klamrami.

lub

Sprawdzaj, czy dla klonów przycisków lub klipów filmowych zostały wybrane właściwe zdarzenia (zdarzenie myszy czy zdarzenia klipu filmowego).

0x08 graphic
lub

Umieszczaj akcję stop w pierwszym ujęciu kluczowym klipu filmowego, żeby zabezpieczyć go przed automatycznym odtwarzaniem i zapętleniem.

lub

Upewniaj się, że symbol przycisku zawiera zdefiniowany obszar aktywny.

lub

W celu sprawdzania prostych akcji i przycisków - pamiętaj o wybraniu poleceń Enable Simple Frame Actions oraz Enable Simple Buttons z menu Control.

lub

Pamiętaj, że domyślnym ustawieniem dla twojego filmu Flasha w trybie testowym jest odtwarzanie w pętli.

Wskazówka

  • Dodatkową pomoc i rady dotyczące usuwania błędów z filmu znajdziesz w rozległych zasobach Internetu, poświęconych Flashowi. Poszukiwania rozpocznij od okna Macromedia Dashboard, które stanowi połączenie z witryną sieciową firmy Macromedia - znajdziesz tam archiwum porad technicznych i ekranowe wersje instrukcji użytkowania programu oraz słownik ActionScript (rys. 12.53). Są tam również odnośniki do witryn z samouczkami Flasha, artykułami, plikami źródłowymi FLA, biuletynami i listami dyskusyjnymi. Sprawdź również dołączony do książki
    CD-ROM, na którym znajdziesz informacje o kolejnych łączach i źródłach.

0x01 graphic

Rys. 12.53. Dostęp do palety Macromedia Dashboard uzyskasz w menu Help. Zajrzyj tam w poszukiwaniu najświeższych wieści, porad i samouczków

Rozdział 12.

414

413

Zarządzanie zawartością i rozwiązywanie problemów

12

Zarządzanie zawartością
i rozwiązywanie problemów

Zapisuje zawartość okna skryptu w formie pliku tekstowego

Zmienia rozmiary wyświetlania okna skryptu

Plik SWF używający współdzielonych symboli z pliku sharedLibrary.swf

Plik SWF używający współdzielonych symboli z lokalizacji sharedFolder/ sharedLibrary.swf

Plik sharedLibrary.swf zawierający symbole przeznaczone do współdzielenia

Wyświetla akcje niepolecane do wykorzystania

Wyróżnia kolorami różne elementy skryptu

Zaznacza wybraną linię wyrażenia

Drukuje zawartość okna skryptu

Plik FLA

Rys. 12.10. Z menu Options współdzielonej biblioteki wybierz Shared Library Properties

Folder sharedFolder

Plik sharedLibrary.swf zawierający współdzielone symbole

Oddzielne filmy SWF

Współny symbol we współdzielonej bibliotece

Importuje kod ActionScript z zewnętrznego pliku tekstowego

Sprawdza okno skryptu w poszukiwaniu błędów

Zastępuje dane słowo lub frazę innymi

W oknie skryptu wyszukuje określonego słowa lub frazy

Plik FLA

Plik sharedLibrary.fla

Plik tekstowy ActionScript

Plik sharedLibrary.swf

Plik SWF

Plik SWF

Kliknij, żeby zwinąć lub rozwinąć

Pole Find (znajdź)

Obszar wyświetlania

Przyciski sposobu wyświetlania zawartości

Rys. 12.29. Wpisanie w polu Find nazwy ball spowoduje wyświetlenie wszystkich klonów symbolu o tej nazwie

Klip filmowy myMovieClip (przeciągany)

Klip filmowy rock

Hierarchia klipów filmowych

Okno wyświetlania

Zakładki Properties, Variables i Watch

Miejsce osadzenia w hierarchii

Zarządzanie zawartością

Tworzenie współdzielonych bibliotek

Tworzenie współdzielonych bibliotek

Współdzielenie fontów

Edytowanie skryptu

Dołączanie zewnętrznych skryptów

Paleta Movie Explorer

Paleta Movie Explorer

Wyświetlanie zmiennych i obiektów

Wyświetlanie zmiennych i obiektów

Śledzenie zmiennych w oknie Output

Posługiwanie się paletą Debugger

Posługiwanie się paletą Debugger

Optymalizowanie filmu

Optymalizowanie filmu

Unikanie najczęstszych błędów

Tworzenie współdzielonych bibliotek

Tworzenie współdzielonych bibliotek

Współdzielenie fontów

Edytowanie skryptu

Edytowanie skryptu

Dołączanie zewnętrznych skryptów

Paleta Movie Explorer

Paleta Movie Explorer

Wyświetlanie zmiennych i obiektów

Śledzenie zmiennych w oknie Output

Śledzenie zmiennych w oknie Output

Posługiwanie się paletą Debugger

Posługiwanie się paletą Debugger

Optymalizowanie filmu

Optymalizowanie filmu

Unikanie najczęstszych błędów



Wyszukiwarka

Podobne podstrony:
r03-04(1), Informacje dot. kompa
r10-04(1), Informacje dot. kompa
r07-04(1), Informacje dot. kompa
r12-02(1), Informacje dot. kompa
R04-05(2), Informacje dot. kompa
06(1), Informacje dot. kompa
r18-05(1), Informacje dot. kompa
r08-02(1), Informacje dot. kompa
01(1), Informacje dot. kompa
r04-03(1), Informacje dot. kompa

więcej podobnych podstron