R 06 (12)


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

0x08 graphic

Części składowe języka HTML


0x08 graphic
Flash udostępnia potężne narzędzia do zarządzania komunikacją z innymi aplikacjami oraz zewnętrznymi danymi, skryptami i plikami, zwiększającymi funkcjonalność programu. Używając Flasha do łączenia się z siecią, możesz tworzyć strony łączące animacje i interaktywność Flasha z innymi mediami dostępnymi dla przeglądarki, a w efekcie projektować dynamiczne interfejsy i przyciski we Flashu, dające dostęp do dokumentów PDF, scen QuickTime VR, a nawet apletów języka Java. Używaj Flasha do łączenia się z witrynami FTP, wysyłania poczty, komunikowania z językiem JavaScript lub wymiany informacji z serwerami korzystającymi z metod CGI Get i Post. Flash wspiera także standard XML, pozwalający tworzyć indywidualny kod na potrzeby rozwiązań dla elektronicznego biznesu. Niniejszy rozdział wprowadzi cię w zagadnienia komunikacji Flasha z formatami HTML, JavaScript, CGI i XML. Flasha można też używać do komunikacji z innymi filmami Flasha w sieci, ładując jeden lub więcej filmów tylko wtedy, gdy są potrzebne. Dzięki temu możliwe staje się tworzenie łatwych w edycji i niewielkich w rozmiarach modularnych projektów. Na przykład, twój główny film Flasha mógłby służyć za rodzaj interfejsu, wczytującego kolejne filmy w momencie, kiedy użytkownik je wybierze. Ponadto Flash integruje się z narzędziem Macromedia Generator, udostępniającym w sieci wizualną zawartość projektu w czasie rzeczywistym. Jeśli wbudujesz do dokumentów Flasha szablony Generatora możliwe stanie się uaktualnianie danych „w locie” z poziomu bazy danych klienta.

W tym rozdziale dowiesz się też, czym są samodzielne odtwarzacze Flasha, zwane projektorami (projectors), i jak specjalne instrukcje pozwalają określić ich wygląd, funkcje oraz charakter współpracy z innymi programami. Jako że projektory nie potrzebują przeglądarki, by móc funkcjonować, są one idealnym sposobem dystrybucji dokumentów Flasha za pomocą nośników CD-ROM lub innych mediów.

Na koniec zobaczysz, w jaki sposób Flash komunikuje się z drukarką. Program umożliwia odbiorcy wydrukowanie tekstu i grafiki całej sceny lub jej części, w tym elementów niewidocznych na scenie.

Z taką różnorodnością opcji drukowania, wyrafinowanymi sposobami komunikacji z siecią i serwerami, a także możliwością dokonywania natychmiastowych aktualizacji, Flash staje się kluczowym elementem w budowaniu dynamicznych, komercyjnych aplikacji.

0x08 graphic
Komunikacja
za pośrednictwem przeglądarki internetowej

Flash łączy się z przeglądarką internetową za pośrednictwem podstawowej akcji getURL dostępnej z palety akcji (rys. 6.1). Akcja ta jest bardzo zbliżona do znacznika <A HREF> w HTML-u, gdzie adres URL witryny podaje się w formie - http://www.nazwadomeny. com/katalog. Adresów URL bezwzględnych (kompletnych adresów określonego pliku) używa się do łączenia z dowolną witryną sieciową, natomiast adresów URL względnych (ścieżek dostępu do pliku pozostającego w relacji z bieżącym katalogiem) używa się do łączenia z plikami lokalnymi, znajdującymi się na dysku lub nośniku CD-ROM. Ponadto akcja getURL umożliwia dostęp do różnych ujęć tworzonych wewnątrz okna przeglądarki, a także całkiem nowych okien przeglądarki. Możesz tworzyć filmy Flasha funkcjonujące w obrębie tych ujęć oraz okien i mieć kontrolę od tym, co jest wczytywane do każdego z nich.

Łączenie się z siecią

Wykorzystaj akcję getURL do nawiązania połączenia z siecią, posługując się standardowym schematem http://, za którym podaje się resztę adresu sieciowego. Używaj schematów odpowiednich dla rodzaju protokołu, np. ftp:// dla transmisji plików, czy mailto: w przypadku poczty.

Jeśli odtworzysz swój film Flasha za pomocą polecenia Control/Test Movie lub używając odtwarzacza Flasha, akcja getURL spowoduje automatyczne uruchomienie domyślnej przeglądarki internetowej i wczytanie podanej witryny w nowym oknie.

0x01 graphic

Rys. 6.1. Akcja getURL na palecie akcji

0x01 graphic

Rys. 6.2. Akcja getURL posiada parametry: adres URL (URL), nazwę okna (Window) oraz metody wstawiania zmiennych do skryptów CGI (Variables)

0x01 graphic

Rys. 6.3. Wprowadź adres URL w bloku edycji parametrów akcji getURL

0x08 graphic
0x08 graphic
0x01 graphic

Rys. 6.4. Jeżeli pole Window pozostawisz puste, film Flasha (u góry) połączy się z witryną firmy Macromedia, korzystając z tego samego okna (u dołu)

0x01 graphic

W celu nawiązania połączenia
z witryną sieciową
za pomocą akcji getURL:

  1. Utwórz symbol przycisku i przeciągnij jego klon z biblioteki na scenę.

  2. Zaznacz klon przycisku, otwórz paletę akcji i wybierz Basic Actions/Get URL (Esc gu). Przed akcją getURL zostanie automatycznie wstawiony manipulator zdarzenia on (release) (rys. 6.2).

  3. W polu URL, w bloku edycji parametrów palety akcji, wpisz pełny adres witryny sieciowej (rys. 6.3). Pole Expression pozostaw niezaznaczone.

  4. Wyeksportuj swój film i odtwórz za pomocą odtwarzacza Flasha lub przeglądarki. Po kliknięciu utworzonego przycisku, witryna sieciowa zostanie wczytana do okna twojego filmu Flasha (rys. 6.4). Kliknij przycisk Back (z powrotem) w przeglądarce, a powrócisz do filmu.

Wskazówki

  • Z siecią możesz połączyć się także za pomocą statycznego bloku tekstowego. W tym celu, za pomocą narzędzia tekstowego (Text Tool) utwórz statyczny tekst, a następnie - w polu URL zakładki Character na palecie Character - wprowadź adres witryny (rys. 6.5). Po kliknięciu tekstu, w oknie przeglądarki zajmowanym przez film Flasha zostanie wczytana podana strona internetowa.

  • Oprócz klonów przycisków, akcja getURL może zostać przypisana także do ujęcia kluczowego. W takim przypadku akcja getURL wyzwoli połączenie z witryną w momencie odtworzenia tego określonego ujęcia. Metoda ta jest użyteczna przy automatycznym ładowaniu łączy do innych witryn - np. po efektownej animacji wstępnej, ewentualnie jako sposób naśladowania automatycznie ładowanych bannerów. Co prawda nie pozwalasz odbiorcy kontrolować tego, co się dzieje, ale przynajmniej zapraszasz go na przechadzkę.

0x08 graphic
W celu rozpoczęcia transferu pliku
za pośrednictwem protokołu FTP:

  1. Tak jak w poprzednim ćwiczeniu, utwórz symbol przycisku i przeciągnij jego klon z biblioteki na scenę.

  1. Zaznacz klon przycisku, otwórz paletę akcji i wybierz Basic Actions/Get URL.

Przed akcję getURL zostanie automatycznie wstawiony manipulator zdarzenia on (release).

  1. W polu URL bloku edycji parametrów wpisz ftp://, dalej nazwę użytkownika, dwukropek, symbol „@” i na końcu pełny adres FTP lokacji pożądanego pliku (rys. 6.6). Pole Expression zostaw niezaznaczone.

  2. Wyeksportuj twój film Flasha i uruchom go w oknie przeglądarki lub odtwarzacza Flasha. Kliknięcie utworzonego przycisku spowoduje wczytanie witryny FTP do okna zajmowanego przez film Flasha, dając ci dostęp do zasobów serwera (rys. 6.7).

0x01 graphic

Rys. 6.6. Adres FTP wpisywany do pola URL akcji getURL może zawierać nazwę użytkownika i hasło lub po prostu adres FTP w przypadku anonimowego dostępu

0x01 graphic

Rys. 6.7. Typowy katalog FTP w oknie przeglądarki

0x08 graphic
0x01 graphic

Rys. 6.8. Wprowadź adres odbiorcy wiadomości po instrukcji mailto: w polu URL. Dodatkowe adresy oddzielaj za pomocą przecinków

0x01 graphic

Rys. 6.9. Projekt nowej wiadomości e-mail pojawia się w nowym oknie nad filmem Flasha

0x01 graphic

Rys. 6.10. Ten adres e-mail jest także przyciskiem uruchamiającym przeglądarkę za pośrednictwem akcji mailto:

0x01 graphic

Rys. 6.11. Niektórzy używają oddzielnych programów do obsługi poczty i przeglądania witryn sieciowych. W takich przypadkach ich przeglądarki nie są skonfigurowane tak, żeby wysyłać wiadomości za pomocą łączy Flasha

W celu utworzenia
domyślnego adresu e-mail:

  1. Ponownie utwórz symbol przycisku i przeciągnij jego klon z biblioteki na scenę.

  1. Zaznacz klon przycisku, otwórz paletę akcji i wybierz Basic Actions/Get URL.

  2. W polu URL bloku edycji parametrów wpisz mailto: i adres e-mail osoby, która powinna otrzymać wiadomość (rys. 6.8). Pole Expression pozostaw niezaznaczone.

  3. Wyeksportuj film i odtwórz go w oknie przeglądarki lub odtwarzacza Flasha. Po kliknięciu utworzonego przycisku pojawi się projekt nowej wiadomości z domyślnie wypełnionym polem adresu odbiorcy (rys. 6.9). Użytkownikowi pozostaje wpisać treść wiadomości i jej wysłanie. Utworzony w ten sposób, za pomocą akcji getURL, domyślny adres e-mail możesz wykorzystać jako sposób na kontakt odbiorców z twoją witryną i uzyskanie dodatkowych informacji.

Wskazówka

  • Dobrym pomysłem jest wprowadzanie przeliterowanego adresu e-mail odbiorcy w akcji getURL mailto: (rys. 6.10). Jeśli przeglądarka użytkownika nie jest skonfigurowana tak, by móc wysyłać wiadomości, zamiast projektu nowej wiadomości pojawi się komunikat o błędzie (rys. 6.11). Dzięki podaniu adresu w pełnym brzmieniu użytkownik będzie mógł go użyć w dowolnej aplikacji do przesyłania poczty.

0x08 graphic
Łączenie z plikami lokalnymi

Do określania plików lokalnych, a nie plików w sieci, używaj raczej względnych ścieżek dostępu niż pełnych adresów URL. Dzięki temu można umieszczać filmy Flasha na dyskietkach lub płytach CD-ROM bez konieczności łączenia z Internetem. Przykładowo, zamiast używać pełnego adresu URL, http://www. myServer.com/images/photo.jpg, wystarczy podać po prostu images/ photo.jpg, a Flash - szukając pliku o nazwie photo.jpg - przeszuka tylko folder images.

W celu połączenia z plikiem lokalnym:

  1. Tak jak w poprzednim ćwiczeniu, utwórz symbol przycisku i przeciągnij jego klon z biblioteki na scenę.

  1. Zaznacz klon przycisku, otwórz paletę akcji i wybierz Basic Actions/Get URL. Przed akcję getURL zostanie automatycznie wstawiony manipulator zdarzenia on (release).

  2. W polu URL bloku edycji parametrów wprowadź względną ścieżkę dostępu do pożądanego pliku. Używaj ukośnika (/) do oddzielania katalogów i dwóch kropek (..) do przesuwania się do góry o jeden poziom w strukturze katalogów (rys. 6.12). Pole Expression pozostaw niezaznaczone.

  3. Wyeksportuj film, a następnie umieść go wraz z plikiem łączącym w katalogu zgodnym z hierarchią na dysku (rys. 6.13). Odtwórz film w przeglądarce lub odtwarzaczu Flasha. Po kliknięciu utworzonego przycisku Flash wyszuka plik, korzystając z podanej ścieżki dostępu, a następnie otworzy go w tym samym oknie przeglądarki (rys. 6.14).

0x01 graphic

Rys. 6.12. Ten względny adres URL powoduje przejście do katalogu o jeden poziom wyżej i odszukanie folderu o nazwie images, zawierającego plik photo.jpg

0x01 graphic

Rys. 6.13. Twój film Flasha (SWF) wraz z towarzyszącym plikiem HTML znajdują się w katalogu na tym samym poziomie w strukturze, co katalog zawierający plik photo.jpg

0x08 graphic
0x01 graphic

Rys. 6.14. Film Flasha (u góry) otwiera plik lokalny w tym samym oknie przeglądarki (u dołu)

Wskazówki

  • W polu URL akcji getURL można wpisać ścieżkę dostępu do dowolnego pliku. Wczytywać można pliki HTML, JPEG, GIF, QuickTime, PDF, jak również filmy Flasha. Trzeba pamiętać jedynie o tym, czy przeglądarka odbiorcy jest wyposażona w odpowiednie pluginy, umożliwiające otwieranie wyżej wymienionych formatów plików.

  • W przeglądarce Microsoft Internet Explorer 4 lub wcześniejszej w wersji dla Mac OS - łącze getURL jest względne wobec filmu Flasha (SWF), ale nie wobec towarzyszącego pliku HTML. Zwykle eksportuje się film Flasha (SWF) wraz z plikiem HTML do tego samego folderu, lecz jeśli rozdzielisz te dwa pliki, pamiętaj, że tylko Internet Explorer 5 dla Mac OS poprawnie odczyta łącze getURL (rys. 6.15).

0x01 graphic

Rys. 6.15. Oddzielenie pliku SWF od towarzyszącego pliku HTML sprawia, że w Microsoft Internet Explorerze 4 w wersji dla MacOS odpowiadający tym plikom adres URL funkcjonuje inaczej. Używając adresu URL photo.jpg, Internet Explorer szuka odpowiadającego mu pliku SWF i może próbować odnaleźć go w katalogu data. Internet Explorer 4 dla Windows i inne przeglądarki wyszukują plik HTML, więc odwołają się raczej do katalogu my_Files. Problem ten nie istnieje jednak w Internet Explorerze 5 dla MacOS

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Zestawy ramek i okna przeglądarki

Kiedy odtwarzasz swój film Flasha w oknie przeglądarki, akcja getURL wczytuje nową witrynę w tym samym oknie, zajmując miejsce filmu Flasha. Jeśli chcesz, żeby witryna została wczytana do nowego okna lub nowej ramki, nie zastępując filmu Flasha, skorzystaj z opcji Window akcji getURL (rys. 6.16).

Jaka jest różnica pomiędzy oknem i ramką? Okna przeglądarki mogą być dzielone na odrębne obszary lub ramki (frames), zawierające pojedyncze witryny sieciowe. Grupa ramek nazywa się zestawem ramek (frameset), a odpowiedni plik HTML pozwala zdefiniować proporcje i nazwę każdej ramki wchodzącej w skład grupy (rys. 6.17).

Parametr Window może używać nazwy, którą plik HTML zestawu ramek przypisuje ramce w tym celu, żeby załadować adres URL bezpośrednio do wskazanej ramki. Podobnie używa się atrybutu TARGET znacznika HTML <A HREF>. Na przykład, jeśli podzielisz witrynę sieciową na dwie ramki, ramkę po lewej możesz nazywać Navigator (nawigacja), a ramkę po prawej Contents (zawartość). Umieść film Flasha w ramce Navigator z przyciskami, którym przypisano akcję getURL. Wprowadzając nazwę ramki Contents w polu parametru Window akcji getURL, nakazujesz ramce po prawej (czyli Contents) wczytać podany adres URL.

Parametr Window przewiduje także wprowadzanie pewnych zarezerwowanych nazw, możliwych do wykorzystania (rys. 6.18). Poniższa tabela opisuje każdą z nich.

0x01 graphic

Rys. 6.16. Pole Window daje dostęp do menu rozwijanego, z którego możesz wybrać zarezerwowane słowo kluczowe

0x01 graphic

Rys. 6.17. Typowa witryna korzystająca z ramek do dzielenia zawartości. Okno podzielone jest poziomo na dwie ramki. Dolna ramka dodatkowo została podzielona na dwie pionowe ramki. Bannery, suwaki i zawartość zwykle są oddzielane w ten sposób

0x01 graphic

Rys. 6.18. U góry, zestaw ramek dzieli okno na lewą i prawą ramkę. Prawa ramka zawiera kolejny zestaw ramek, dzielący ją na ramkę górną oraz dolną. Film Flasha (SWF) jest odtwarzany w górnej ramce drugiego zestawu. Nazwa okna określa miejsce ładowania adresu URL

0x08 graphic
0x01 graphic

Rys. 6.19. Plik z zestawem ramek (u góry) dzieli okno na dwie kolumny: lewą, o nazwie Navigator, mającą 20% szerokości okna przeglądarki i prawą, o nazwie Contents, mającą 80% szerokości okna (u dołu)

0x01 graphic

Rys. 6.20. Blok edycji parametrów akcji getURL określa witrynę Google.com jako domyślnie ładowaną do ramki Contents

Tabela 6.1. Parametry Window akcji getURL

W celu uruchomienia
witryny sieciowej
w ramce o określonej nazwie:

  1. Utwórz zestaw ramek HTML zawierający dwie ramki, z których każda będzie miała unikatową nazwę. Film Flasha zostanie uruchomiony w jednej ramce, a łącza do innych stron pojawią się w drugiej (rys. 6.19).

  1. Tak jak w poprzednich ćwiczeniach, utwórz symbol przycisku i przeciągnij jego klon z biblioteki na scenę.

  2. Zaznacz klon przycisku, otwórz paletę akcji i wybierz Basic Actions/Get URL. Przed akcję getURL zostanie automatycznie wstawiony manipulator zdarzenia on (release).

  3. W polu URL, w bloku edycji parametrów palety akcji, wpisz adres witryny sieciowej, zaczynając od http://. Pole Expression pozostaw niezaznaczone.

  4. W polu Window, w bloku edycji parametrów palety akcji, wpisz nazwę ramki ustaloną w zestawie ramek HTML (rys. 6.20).

  5. Opublikuj film Flasha wraz z towarzyszącym plikiem HTML. Utwórz kolejny plik HTML dla następnej ramki z zestawu.

Nazwa okna Objaśnienie

_self

Określa bieżącą ramkę aktywnego okna przeglądarki. Jest to domyślne zachowanie, gdy nie podano żadnego parametru Window.

_blank

Określa nowe okno przeglądarki.

_parent

Określa zestaw ramek zawierający bieżącą ramkę.

_top

Określa najwyższy w hierarchii zestaw ramek bieżącego okna przeglądarki.

  1. 0x08 graphic
    Nadaj obu plikom HTML nazwy, stosownie do znaczników <FRAME SRC> w dokumencie zestawu ramek, a następnie umieść wszystkie pliki w tym samym folderze (rys. 6.21).

  2. Otwórz w przeglądarce dokument zestawu ramek. Twój film Flasha jest odtwarzany w jednej ramce, a utworzony przycisk powoduje wczytanie witryny sieciowej do kolejnej ramki (rys. 6.22).

W celu uruchomienia
witryny sieciowej w nowym oknie:

  1. Utwórz przycisk i przypisz akcję getURL do jego klonu.

  1. W polu URL bloku edycji parametrów palety akcji wprowadź adres witryny sieciowej.

  2. W polu Window - z menu rozwijanego wybierz _blank (rys. 6.23).

  3. Wyeksportuj film i odtwórz go w oknie przeglądarki lub w odtwarzaczu Flasha. Kliknięcie utworzonego przycisku otwiera nowe okno, do którego zostaje załadowana witryna sieciowa.

lub

  1. W polu parametru Window akcji getURL, zamiast wybierać z menu rozwijanego opcję _blank, po prostu wpisz unikatową nazwę dla twojego nowego okna (rys. 6.24).

  1. Wyeksportuj film i odtwórz go w oknie przeglądarki lub w odtwarzaczu Flasha. Po kliknięciu utworzonego przycisku Flash wyszuka ramkę lub okno o nazwie określonej w polu parametru Window akcji getURL. W przypadku niemożności zlokalizowania, Flash utworzy nowe okno o tej samej nazwie.

0x01 graphic

Rys. 6.21. Plik frameset.html powoduje umieszczenie pliku contents.html w ramce Contents i pliku navigator.html w ramce Navigator. Plik navigator.html wstawia też film Flasha (navigator.swf)

0x01 graphic

Rys. 6.22. Pokazano tu skrypt dla przycisku umieszczonego w ramce Navigator. Witryna Google wczytuje się do drugiej ramki

0x01 graphic

Rys. 6.23. Po wybraniu opcji _blank z menu rozwijanego parametru Window, witryna Peachpit zostanie wczytana do nowego, nienazwanego okna

0x01 graphic

Rys. 6.24. Witryna Peachpit zostanie wczytana do nowego okna o nazwie myNewWindow, jeśli taką właśnie nazwę wprowadzono w polu Window

0x08 graphic
0x01 graphic

Rys. 6.25. Złożone akcje getURL, z parametrem Window ustawionym na _blank (u góry) oraz w przypadku wykorzystania unikatowej nazwy (u dołu)

Wskazówki

  • Istnieje zasadnicza różnica pomiędzy otwieraniem nowego okna za pomocą opcji _blank i używaniem własnoręcznie wprowadzonej nazwy. Jeśli skorzystasz z opcji _blank, to za każdym razem, gdy klikniesz przycisk łączący cię z kolejną witryną sieciową, utworzone zostanie nowe okno. W przypadku posłużenia się nazwą wprowadzaną w polu Window, kliknięcie przycisku po raz pierwszy spowoduje otworzenie nowego okna. Kolejne kliknięcia tak naprawdę tylko odnajdują nowo utworzone okno i Flash ponownie odświeża witrynę w istniejącym już oknie (rys. 6.25). Obydwie metody są użyteczne, w zależności od tego, czy chcesz umieszczać łącza w oddzielnych oknach, czy też łącza te mają się zastępować w pierwszym nowo utworzonym oknie.

  • Zachowuj ostrożność, tworząc nowe okna przeglądarki, i pamiętaj, gdzie się znajdują. Czasem mogą pozostawać ukryte pod aktywnym oknem, wczytując witryny, których odbiorca nie jest w stanie zobaczyć.

0x08 graphic
Używanie języka JavaScript
do kontrolowania
parametrów nowego okna

Wprawdzie parametr Window akcji getURL umożliwia skierowanie nowo otwieranych witryn do nowych okien przeglądarki, jednak wygląd i umiejscowienie tych okien zależą od preferencji samej przeglądarki. Dla przykładu, jeśli odtworzysz film Flasha w przeglądarce wyświetlającej pasek adresowy i pasek narzędzi, a potem otworzysz nowe okno, to będzie ono także zawierać podobne paski. Takich parametrów okna nie można kontrolować z poziomu Flasha, ale da się to zrobić za pomocą języka JavaScript.

W dokumencie HTML przechowującym twój film Flasha możesz zdefiniować funkcje JavaScript kontrolujące sposób otwierania, a nawet zamykania nowych okien przeglądarki.

W filmie Flasha, owe funkcje można wywołać za pomocą akcji getURL. Zamiast podawać w polu URL adres sieciowy, wpisujesz javascript:, a następnie nazwę funkcji. Flash odnajduje JavaScript w dokumencie HTML i przeglądarka wywołuje podaną funkcję.

Języka JavaScript można używać do kontrolowania wielu właściwości okna. Właściwości te określają wygląd okien, ich działanie i umiejscowienie na ekranie (rys. 6.26), a definiuje się je w funkcji JavaScript dokumentu HTML za pomocą określeń tak (1) lub nie (0), ewentualnie liczby specyfikującej rozmiary lub koordynaty. Poniższa tabela zawiera zestawienie najczęściej używanych właściwości, zgodnych zarówno z Internet Explorerem, jak i Netscape Navigatorem (Tabela 6.2).

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
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x01 graphic

Rys. 6.26. Właściwości okna przeglądarki można ustawiać za pomocą języka JavaScript

Tabela 6.2. Właściwości okna w JavaScript0x08 graphic

W celu uruchomienia nowego okna
za pomocą JavaScriptu:

  1. Najpierw musisz zdefiniować funkcję w dokumencie HTML, przechowującym twój film Flasha. Dodaj następujący fragment skryptu do nagłówka dokumentu HTML:

<SCRIPT LANGUAGE="JavaScript">

function openWindow(URL) {

newWindow = window.open(URL);

}

</SCRIPT>

Powyższy skrypt definiuje funkcję openWindow z argumentem URL. Po wywołaniu tej funkcji tworzony jest obiekt newWindow z adresem URL jako adresem witryny do załadowania.

  1. Teraz dodaj do skryptu właściwości okna, umieszczając je w nawiasach przy metodzie window.open:

<SCRIPT LANGUAGE="JavaScript">

function openWindow(URL) {

newWindow = window.open(URL, "myNewWindow", "toolbar=0,

location=0,directories=0, status=0,menubar=0,scrollbars=0, resizable=0,width=200,height=250,left=80,top=180")

}

</SCRIPT>

  1. Dodaj następujący parametr wewnątrz znacznika <EMBED> za parametrami width i height w kodzie HTML - w miejscu, w którym występuje odwołanie do twojego filmu Flasha (SWF):

SwLiveConnect=true

To bardzo istotny parametr uruchamiający w interfejsie przeglądarki funkcję zezwalającą na komunikację filmu Flasha z JavaScriptem. Dokument HTML powinien wyglądać podobnie jak na rys. 6.27.

Właściwość Opis

height

Rozmiar pionowy w pikselach.

width

Rozmiar poziomy w pikselach.

left

Współrzędna x lewej krawędzi.

top

Współrzędna y górnej krawędzi.

resizable

Obszar skalowania w prawym dolnym rogu, umożliwiający zmianę rozmiarów okna - tak (nie) lub 1 (0).

scrollbars

Pionowy i poziomy pasek przewijania - tak (nie) lub 1 (0).

directories

Inaczej pasek osobisty, dający dostęp do niektórych zakładek - tak (nie) lub 1 (0).

locations

Pasek adresowy, zawierający pole do wpisywania adresu URL - tak (nie) lub 1 (0).

menubar

Pasek menu, zawierający menu rozwijane, np. Plik i Edycja. Występuje tylko w systemie Windows - tak (nie) lub 1 (0).

status

Pasek stanu w lewym dolnym rogu, wyświetlający status przeglądarki i zabezpieczenia - tak (nie) lub 1 (0).

toolbar

Pasek narzędziowy, z przyciskami Dalej i Wstecz oraz innymi ikonami nawigacji - tak (nie) lub 1 (0).

0x08 graphic
0x08 graphic

0x01 graphic

Rys. 6.27. Kod JavaScript w nagłówku dokumentu HTML. Film Flasha osadzony w tym dokumencie będzie wywoływał funkcję openWindow (URL)

  1. 0x08 graphic
    Teraz zaprojektuj film Flasha komunikujący się z nowo utworzonymi funkcjami JavaScript. Przygotuj przycisk i przypisz akcję getURL do jego klonu na scenie.

  2. W polu URL wpisz:

javascript:openWindow

('http://www.peachpit.com')

Pole Expression pozostaw niezaznaczone, a pole Window puste. Adres witryny ujęty w pojedynczy cudzysłów i nawiasy zostaje podstawiony do funkcji JavaScript jako argument URL (rys. 6.28).

  1. Wyeksportuj film Flasha i otwórz w przeglądarce dokument HTML przechowujący plik SWF.

Po kliknięciu utworzonego przycisku - Flash podstawia adres witryny do funkcji JavaScript o nazwie openWindow. Następnie funkcja JavaScript tworzy nowe okno, o parametrach zdefiniowanych w dokumencie HTML (rys. 6.29).

Wskazówki

  • Powyższa metoda komunikacji Flasha z JavaScriptem nie będzie działać ze starszymi wersjami Internet Explorera (wersja 3. i wcześniejsze), a także Internet Explorerem 4.5 lub wcześniejszym dla Macintosha.

  • Istnieje więcej właściwości okna w JavaScripcie, lecz wiele z nich działa tylko z jedną z dwóch najpopularniejszych przeglądarek. Na przykład, właściwości innerHeight oraz innerWidth definiują właściwy obszar zawartości okna, ale są to właściwości unikalne dla Netscape Navigatora. Najbezpieczniej jest używać właściwości wymienionych w tabeli 6.2.

0x01 graphic

Rys. 6.28. Wyrażenie javascript: wywołuje funkcję openWindow w dokumencie HTML, zawierającym film Flasha

0x01 graphic

Rys. 6.29. Okno bez żadnych dodatkowych cech nazywa się oknem „bez wodotrysków”. „Wodotryski” oznaczają wszystkie cechy interfejsu okna

  • Tak jak podstawiasz argument URL do funkcji JavaScript z poziomu Flasha, tak też możesz wymusić na twojej funkcji openWindow akceptację większej ilości argumentów. W ten sposób możliwe staje się definiowanie wysokości, szerokości i innych właściwości okna z poziomu Flasha, zamiast predefiniowania ich za pomocą kodu JavaScript w dokumencie HTML.

0x08 graphic
0x01 graphic

Rys. 6.30. Akcja getURL wywołuje funkcję JavaScript closeWindow. Obiekt okna o nazwie newWindow zamyka okno

W celu zamknięcia okna
za pomocą JavaScriptu:

  1. Kiedy już otworzysz okno za pomocą JavaScript, w podobny sposób możesz je zamknąć. Najpierw zdefiniuj funkcję JavaScript w dokumencie HTML przechowującym twój film Flasha. Potem wywołaj funkcję akcją getURL. Postępuj jak w poprzednim ćwiczeniu i dodaj nową funkcję za funkcją openWindow:

function closeWindow() {

newWindow.close()

}

Funkcja closeWindow zasadniczo wywołuje metodę close() dla obiektu newWindow, utworzonego w pierwszej funkcji.

  1. Utwórz w twoim filmie drugi przycisk i przypisz akcję getURL do jego klonu na scenie.

  2. W polu URL wpisz:

javascript:closeWindow()

Pole Expression pozostaw niezaznaczone, a pole Window puste (rys. 6.30).

  1. Wyeksportuj film i otwórz w oknie przeglądarki dokument HTML przechowujący plik SWF. Kiedy klikniesz pierwszy przycisk, utworzony kod JavaScript spowoduje uruchomienie nowego okna o nazwie newWindow. Kliknięcie drugiego z przycisków, analogicznie, zamyka obiekt newWindow.

Wskazówka

  • Zwróć uwagę, że nazwa obiektu okna różni się od nazwy okna. Nazwa obiektu służy do zamykania okna, tymczasem nazwa okna umożliwia wskazanie do niego dostępu i w efekcie załadowanie adresu URL. W powyższych przykładach obiekt nazywa się newWindow, ale nazwa występująca w ścieżkach dostępu to myNewWindow.

0x08 graphic
CGI oraz metoda GET i POST

Ostatni parametr akcji getURL umożliwia przesyłanie informacji za pośrednictwem metod GET i POST. Metody te przesyłają zmienne, zadeklarowane w filmie Flasha, do aplikacji serwerowej - np. aplikacji CGI - w celu przetworzenia. Do przesyłania zmiennych używa się zwykle informacji w rodzaju słów kluczowych w mechanizmach wyszukiwania, czy też nazw logowania i haseł dostępu do witryn sieciowych. Różnice pomiędzy GET i POST są łatwo zauważalne:

Metoda GET dodaje zmienne na końcu adresu URL w akcji getURL i jest używana tylko z kilkoma typami zmiennych, i to takich, które przechowują niewielką ilość informacji. Zmienne term=CGI, category=All i pref=all są dodawane na końcu adresu URL w następujący sposób: http://search. domain.com/cgi-bin/search?term= CGI&category=All&pref=all

Zapewne widziałeś już podobny, długi adres URL, kiedy zażądałeś odnalezienia informacji w wyszukiwarce internetowej.

Metoda POST przesyła zmienne w nagłówku HTTP przeglądarki użytkownika. Korzystaj z tej metody przy przesyłaniu długich łańcuchów danych w operacjach getURL. Na przykład, tablica informacyjna mogłaby działać lepiej, jeśli użyć metody POST.

Po przesłaniu do serwera sieciowego, zmienne są przetwarzane przez skrypty CGI w nagłówkach URL lub HTTP. Skrypty te są obsługiwane przez twojego dostawcę internetowego lub Webmastera, powinieneś więc tam właśnie poszukać dodatkowych informacji.

0x08 graphic
0x01 graphic

Rys. 6.31. Wybranie Window/Panels/Text Options otwiera okno dialogowe umożliwiające zmianę zwykłego bloku tekstowego w okno wprowadzania informacji

0x01 graphic

Rys. 6.32. W polu Variable palety Text Options wpisz emailStr

W celu przesłania informacji
przy użyciu metody GET:

  1. Wybierz narzędzie tekstowe (Text Tool) i utwórz na scenie blok tekstowy.

  1. Otwórz paletę Text Options, wybierając Window/Panels/Text Options (rys. 6.31).

  2. Na palecie Text Options, z menu rozwijanego wybierz Input Text. Opcja ta umożliwia wykorzystanie utworzonego bloku tekstowego do wprowadzania informacji.

  3. W polu Variable wpisz emailStr (rys. 6.32). Cokolwiek wpiszesz w bloku tekstowym, zostanie to przyporządkowane do zmiennej o nazwie emailStr.

  4. Utwórz przycisk i umieść jego klon na scenie,

  5. Zaznacz przycisk, otwórz paletę akcji i wybierz Actions/Get URL. Poniżej zdarzenia myszy on (release) pojawi się wyrażenie getURL.

  6. W polu URL bloku edycji parametrów palety akcji wprowadź adres skryptu serwera - np.

http://www.myserver.com/

cgi-bin/list.cgi

  1. W polu Window wybierz _self.

  2. Z menu rozwijanego Variables wybierz Send using GET (rys. 6.33). Zapis akcji powinien wyglądać następująco:

on (release) {

getURL (

"http://www.myserver.com/cgi-bin/list.cgi", "_self", "GET");

}

Kiedy użytkownik wprowadzi w bloku tekstowym adres e-mail i kliknie przycisk, adres ten zostanie dopisany na końcu adresu URL i przesłany do skryptu CGI.

Więcej o zmiennych i wprowadzaniu tekstu dowiesz się w części V, „Praca z informacją”.

Komunikacja z obiektami XML

0x08 graphic
Oprócz standardów HTML i JavaScript, Flash 5 wspiera także XML. Chociaż wgłębienie się w XML-a wykracza poza ramy tej książki, poniższy krótki akapit pomoże ci pojąć ekscytujące możliwości, jakie Flash wprowadza do XML-a.

XML (skrót od extensible markup language, strukturalny język znacznikowy) jest potężnym językiem, aktualnie zatwierdzanym przez World Wide Web Consortium (W3C). Jego rozszerzalna natura umożliwia definiowanie zawartości w zależności od jej znaczenia i kręgu odbiorców. XML bardzo różni się od tradycyjnych języków znacznikowych w rodzaju HTML, które mówią przeglądarce, w jaki sposób rozmieszczać zawartość - według zasady umieść tekst tutaj, ustaw taką czcionkę, ustaw go obok tego obrazka. XML definiuje typy danych, co czyni zeń w pełni skalowalny system - zawartość nie jest związana ze sposobem prezentacji i może być ustalana w zależności od wymagań odbiorców. Fragment kodu XML może wyglądać następująco:

<invoice>

<vendorname>Big Tents</vendorname>

<vendorID>MYBDAY021570</vendorID>

<nebdorLogo>03SUIRAUQA.GIF </vendorLogo>

<productdescription>

<name>All-Weather Tent</name>

<dimensions>

<height>7.25"</height>

<width>7.25"</width>

<depth>48.5"<depth>

<weight>8lbs.</weight>

</dimensions>

<wholesale>$75.43</wholesale>

<retail>$135.99</retail>

</productdescription>

</invoice>

We Flashu 5, XML oraz obiekty XMLSocket umożliwiają komunikację z innymi aplikacjami i arkuszami stylów w celu zarządzania bogatą w media zawartością, unikalną dla każdego użytkownika. Przemysły rozrywkowy, samochodowy, bankowy i handlu elektronicznego odkryły już korzyści płynące z połączenia Flasha i XML-a.

Prawdziwa aplikacja dla handlu elektronicznego wprowadza rozszerzalny interfejs pomiędzy sieciowym sprzedawcą końcowym a jego partnerami, hurtownikami i dostawcami - za pośrednictwem korzystającej z technologii Flasha supersieci. Posługując się Flashem jako narzędziem do tworzenia interfejsu - przycisków, pasków przewijania, bloków wprowadzania tekstu, itd. - możesz wyposażyć handlowca w interfejs przeciągnij-i-upuść, pozwalający zamawiać produkty i odsyłać je do magazynu. Ten sam obiekt XML może identyfikować i umożliwiać hurtownikowi zmianę całego systemu sprzedaży, jak i poszczególnych cen w czasie negocjacji dotyczących umieszczenia produktu na witrynie sprzedawcy i prowadzenia kampanii przez e-mail. Gdyby wykonać je w tradycyjny sposób, wszystkie te tak różne formy sieciowe pochłonęłyby olbrzymią ilość czasu potrzebnego na ich przygotowanie, a kolejne trzeba by tworzyć wraz z pojawianiem się nowych użytkowników.

Komunikacja z obiektami XML

0x08 graphic
XSL jest arkuszem stylu dołączanym do XML, a wystarczyłby jeden lub dwa takie szablony do określenia różnych typów odbiorcy twoich projektów Flasha. Arkusz stylu przekształca interfejs w oparciu o typ użytkownika. Handlowiec mógłby oglądać jakieś strumieniowe dane przedstawiające dzienną sprzedaż i zamówienia, jak również negocjować z hurtownikiem na żywo. Z drugiej strony, partner mógłby sprawdzić efekty promocji wśród klientów sprzedawcy końcowego i zadecydować o przedłużeniu promocji na następny rok.

Flash 5 umożliwia wprowadzenie tej szczególnie rozszerzalnej warstwy pomiędzy bogatą w media zawartością a systemami negocjacji i przepływu danych. XML nie sprawi co prawda, że twoje animacje będą bardziej płynne, a przekazy audio wyraźniejsze, jednak dzięki niemu łatwiej jest tworzyć unikalne i skalowalne systemy użytkowania. Jeśli chciałbyś nauczyć się więcej o XML-u i obiektach XMLSocket, sięgnij do opisu języka ActionScript, który otrzymałeś wraz z programem.

0x08 graphic
0x08 graphic
0x08 graphic
Dołączanie filmów z zewnątrz

Nauczyłeś się już, jak Flash wykorzystuje akcję getURL do łączenia się z dowolnym plikiem, także innym filmem Flasha. Wygląda to tak, że nowy plik SWF zostaje wczytany do bieżącego okna przeglądarki, zastępując tym samym pierwotny film, lub też pojawia się w zupełnie nowym oknie. Innym sposobem na dołączanie zewnętrznych filmów do oryginalnego filmu Flasha jest skorzystanie z akcji loadMovieNum (oznaczoną jako Load Movie w grupie Basic Actions) (rys. 6.34). Akcja ta umożliwia zintegrowanie dodatkowego pliku SWF z bieżącą zawartością. Oryginalny film Flasha określa prędkość odtwarzania, rozmiar sceny i kolor tła, ale możliwe jest tworzenie warstw dla kilku zewnętrznych plików SWF, a także nawigowanie po ich listwach czasowych. W poprzednim rozdziale nauczyłeś się kontrolować listwy czasowe klipów filmowych w obrębie pojedynczego filmu Flasha. Teraz spróbuj wyobrazić sobie złożoność nawigacji po wielu listwach czasowych w wielu filmach!

Jedną z korzyści płynących z wykorzystywania zewnętrznych filmów Flasha jest ograniczenie wielkości całego projektu i skrócenie czasów ładowania. Jeśli, na przykład, budujesz witrynę sieciową mającą prezentować twoje osiągnięcia w tworzeniu animacji Flasha, możesz przechowywać poszczególne animacje w postaci oddzielnych plików SWF. Wystarczy zaprojektować główny interfejs, umożliwiający twoim potencjalnym klientom wczytanie wybranej animacji w dowolnej chwili. W ten sposób twoi odbiorcy korzystają tylko z tej zawartości strony, której potrzebują, i tylko wtedy, kiedy jest to niezbędne, a główny interfejs nie pęka w szwach od zawartości każdej jednej animacji (rys. 6.35).

0x01 graphic

Rys. 6.34. Akcja loadMovieNum w menu palety akcji

0x01 graphic

Rys. 6.35. Sposobem na separowanie bogatej w dane zawartości jest wykorzystanie zewnętrznych plików SWF. W tym przykładzie film interface.swf wczytuje pliki animacji jeden po drugim na żądanie

0x08 graphic
0x01 graphic

Rys. 6.36. Animacja kuli odbijającej się wzdłuż obrzeży prostokąta

0x01 graphic

Rys. 6.37. Akcja loadMovieNum posiada parametry: URL (ścieżka dostępu), Location (umiejscowienie - poziom) i Variables (zmienne)

Poziomy

Po wczytaniu zewnętrznych plików SWF do innego filmu Flasha ich rozmieszczanie kontroluje się za pomocą poziomów. Oryginalny film jest zawsze na poziomie 0 (Level 0), a każdy następny zostaje umieszczony o jeden poziom wyżej. Wyższe poziomy nakładane są na niższe, tak więc załadowane filmy będą zawsze pojawiać się powyżej pierwotnego filmu na scenie. Jeśli chcesz usunąć film, wystarczy podać numer poziomu, a wówczas wymuszane jest zastosowanie akcji unloadMovieNum wobec filmu o określonym poziomie. Podobny efekt osiągniesz, zastępując niechciany film nowym filmem. Jeśli wczytasz nowy film do poziomu zajmowanego przez inny film, nowy zajmie miejsce starego.

W celu wczytania zewnętrznego filmu:

  1. Najpierw przygotuj film, który chciałbyś wczytać. Utwórz krótką animację z kilkoma elementami tła i sceną o względnie niewielkich rozmiarach (rys. 6.36).

  1. Wyeksportuj gotowy film do pliku SWF.

  2. Otwórz nowy dokument Flasha, w którym utworzysz swój główny film. Do wspomnianego dokumentu ładowany będzie film zewnętrzny.

  3. Utwórz symbol przycisku i przeciągnij jego klon z biblioteki na scenę.

  4. Zaznacz klon i otwórz paletę akcji. Wybierz Basic Actions/Load Movie (Esc + lm).

Poniżej manipulatora zdarzenia myszy on (release) pojawi się akcja loadMovieNum (rys. 6.37).

  1. 0x08 graphic
    0x08 graphic
    0x08 graphic
    W polu URL wpisz nazwę zewnętrznego pliku SWF. Pole Expression pozostaw niezaznaczone (rys. 6.38).

Pole URL określa ścieżkę dostępu do pliku. Tutaj wprowadzamy ścieżkę względną, tak więc Flash sprawdza w poszukiwaniu pliku SWF bieżącą lokalizację. Katalogi można zmieniać za pomocą ukośnika (/) i dwóch kropek (..), ewentualnie wprowadzając bezwzględną ścieżkę dostępu do pliku SWF umieszczonego na witrynie internetowej.

  1. W przypadku parametru Location z menu rozwijanego wybierz opcję Level, a w polu obok wpisz cyfrę o wartości większej niż 0 (rys. 6.39).

  2. Wyeksportuj film. Umieść zarówno główny plik SWF, jak i plik zewnętrzny w tym samym katalogu.

  3. Odtwórz film zawierający utworzony wcześniej przycisk w przeglądarce lub za pomocą odtwarzacza Flasha.

Kliknięcie przycisku spowoduje wczytanie filmu umieszczonego powyżej oryginalnego filmu (rys. 6.40).

0x01 graphic

Rys. 6.38. Podanie względnego adresu URL oznacza, że plik bouncingball.swf powinien znajdować się w tym samym katalogu co oryginalny film Flasha

0x01 graphic

Rys. 6.39. Na jednym poziomie może znaleźć się tylko jeden film, ale ilość poziomów nie jest ograniczona

0x01 graphic

Rys. 6.40. Film oryginalny na poziomie 0 (Level 0) (u góry) i film wczytywany na poziomie 1 (Level 1) (na dole). Przycisk na poziomie 0 jest cały czas aktywny

Cechy wczytywanych filmów

  • 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
    Filmy wczytywane do wyższego poziomu będą nakładać się na filmy wczytywane do niższych poziomów.

  • Wczytywane filmy posiadają przezroczyste sceny. Jeśli chcesz, by sceny były kryjące, utwórz wypełniony prostokąt w dolnej warstwie wczytywanego filmu (rys. 6.41).

0x01 graphic

Rys. 6.41. Jeśli plik SWF jest wczytywany i umieszczany powyżej filmu na poziomie 0, jego scena staje się przezroczysta

0x01 graphic

Rys. 6.42. Mniejsze pliki SWF są pozycjonowane względem lewego górnego rogu i wyświetlają obszar roboczy poza sceną. Rozważ użycie w tym miejscu masek zewnętrznych plików SWF o rozmiarach zgodnych z rozmiarami ich scen

  • Wczytywane filmy są pozycjonowane względem ich górnego lewego rogu od górnego lewego rogu oryginalnego filmu. Tak więc wczytywane filmy ze sceną o mniejszych rozmiarach będą wciąż wyświetlać obiekty znajdujące się poza ich sceną (rys. 6.42). Przygotuj maskę, która zablokuje obiekty mogące wykroczyć poza scenę, skoro odbiorca nie powinien ich widzieć. Podobnie filmy z większą sceną będą ucinane wzdłuż dolnego i prawego brzegu (rys. 6.43).

  • Filmy wczytywane do poziomu 0 zajmują miejsce oryginalnego filmu, jednak rozmiar sceny, prędkość odtwarzania i kolor tła pozostają niezmienione. Jeśli wczytany film posiada scenę większą niż oryginał, zostanie wycentrowany i wyskalowany, co spowoduje dopasowanie się do sceny.

0x01 graphic

Rys. 6.43. Większe pliki SWF są obcinane, gdy wczytuje się je nad filmem poziomu 0

0x08 graphic
W celu usunięcia filmu:

  1. Korzystając dalej z plików przygotowanych w poprzednim ćwiczeniu, utwórz kolejny klon przycisku w oryginalnym filmie, a następnie otwórz paletę akcji.

  1. Wybierz Basic Actions/Unload Movie (Esc + um).

Poniżej manipulatora zdarzenia myszy on (release) pojawi się akcja unloadMovieNum (rys. 6.44).

  1. Dla parametru Location wybierz z menu rozwijanego opcję Level, a następnie wpisz tę samą cyfrę, którą wprowadziłeś dla akcji loadMovieNum (rys. 6.45).

  2. Wyeksportuj główny film do pliku SWF i umieść go w tej samej lokalizacji, co zewnętrzny plik SWF.

  3. Odtwórz film w przeglądarce lub odtwarzaczu Flasha.

Pierwszy z przycisków wczytuje zewnętrzny film do podanego poziomu. Drugi przycisk usuwa film z tego poziomu.

W celu zastąpienia wczytanego
filmu innym filmem:

  1. Otwórz nowy dokument Flasha i przygotuj następną niewielką animację, która posłuży za drugi film zewnętrzny.

  1. Dodaj trzeci klon przycisku do tego samego głównego filmu, którego używałeś w poprzednim ćwiczeniu, a następnie otwórz paletę akcji.

  2. Wybierz Basic Actions/Load Movie. Poniżej manipulatora zdarzenia myszy on (release) pojawi się akcja loadMovieNum (rys. 6.46).

  3. W polu URL wpisz nazwę drugiego filmu zewnętrznego. Pole Expression pozostaw niezaznaczone (rys. 6.47).

0x01 graphic

Rys. 6.44. Akcja unloadMovieNum ma tylko jeden parametr: Location

0x01 graphic

Rys. 6.45. Parametr Location akcji unloadMovieNum. Dowolny film z poziomu 1 zostanie usunięty

0x01 graphic

Rys. 6.46. Akcja loadMovieNum przypisana do przycisku

0x01 graphic

Rys. 6.47. Plik bouncingsquare.swf stanowi ścieżkę dostępu

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

Rys. 6.48. Plik bouncingsquare.swf zostanie wczytany do poziomu 1.

0x01 graphic

Rys. 6.49. Początkowo film bouncingball.swf zajmuje poziom 1 (u góry). Inny film, po wczytaniu do tego samego poziomu, zastąpi plik bouncingball.swf

  1. Dla parametru Location wybierz z menu rozwijanego opcję Level, a następnie wpisz tę samą cyfrę, której użyłeś dla pierwszej akcji loadMovieNum (rys. 6.48).

  2. Wyeksportuj główny film do pliku SWF i umieść go w tej samej lokalizacji, co obydwa zewnętrzne pliki SWF.

  3. Odtwórz główny film, zawierający trzy przyciski, w przeglądarce lub odtwarzaczu Flasha.

Po kliknięciu pierwszego przycisku Flash wczyta zewnętrzny film, rezydujący nad oryginalnym filmem. Kliknięcie trzeciego z utworzonych przycisków sprawi, że Flash wczyta drugi film zewnętrzny do tego samego poziomu, zastępując tym samym pierwszy z filmów (rys. 6.49).

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
0x08 graphic
0x08 graphic
Wczytywanie filmów
do klipów filmowych

Wczytywanie zewnętrznych filmów do poziomów podlega pewnym ograniczeniom, z uwagi choćby na fakt pozycjonowania ich względem lewego górnego rogu głównej sceny. Przeszkodę tę można ominąć i przesuwając odpowiednio elementy zewnętrznego filmu i mając na uwadze miejsca, w których będą wyświetlane. Można też zmienić cały film, dopasowując rozmiar jego sceny do rozmiarów sceny głównego filmu.

Jednak jeszcze lepszym rozwiązaniem jest umieszczanie takich filmów w klipach filmowych, zamiast wczytywanie ich do poziomów. W takim przypadku lewy górny róg wczytywanego filmu jest umieszczany w punkcie środkowym wskazanego klipu filmowego (rys. 6.50), a ponieważ klipy filmowe mogą być rozmieszczane po całej scenie, w ten sposób również wczytywane filmy możesz rozkładać dokładnie tak, jak chcesz. Wczytany film zajmuje miejsce klipu - listwa czasowa klipu filmowego zostaje zastąpiona listwą czasową wczytanego filmu. Mimo wszystko klip filmowy zachowuje nazwę przypisaną do jego klonu; również wszystkie efekty skalowania, rotacji, przekrzywiania, kolorowania i nakładania przezroczystości, wykonane na klonie klipu filmowego, zostaną przypisane wczytanemu filmowi (rys. 6.51).

W celu wczytania
zewnętrznego filmu
do klipu filmowego:

  1. Utwórz symbol klipu filmowego i przeciągnij jego klon z biblioteki na scenę (rys. 6.52).

  1. Zaznacz klon i za pomocą palety Instance nadaj mu nazwę.

  2. Utwórz symbol przycisku i przeciągnij jego klon z biblioteki na scenę.

  3. Zaznacz klon przycisku i otwórz paletęakcji.

0x01 graphic

Rys. 6.50. Film wczytany do klipu filmowego jest pozycjonowany względem lewego górnego rogu w punkcie środkowym filmu

0x01 graphic

Rys. 6.51. Wczytywany film przejmuje nazwę, pozycję, skalowanie, przekrzywienie, rotację, kolory i efekt przezroczystości przypisane do klonu klipu filmowego

0x01 graphic

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

Rys. 6.53. Parametry akcji loadMovieNum.

0x01 graphic

Rys. 6.54. Film bouncingball.swf zostaje wczytany do klipu filmowego greensquare, który wcześniej został obrócony

  1. Wybierz Basic Actions/Load Movie. Poniżej manipulatora zdarzenia myszy on (release) pojawi się akcja loadMovieNum.

  2. W polu URL wpisz nazwę zewnętrznego pliku SWF. Dla parametru Location wybierz z menu rozwijanego opcję Target, a następnie wprowadź ścieżkę dostępu do klonu klipu filmowego na scenie (rys. 6.53).

  3. Wyeksportuj główny film do pliku SWF i umieść go w tej samej lokalizacji, co zewnętrzny plik SWF.

  4. Odtwórz główny film zawierający przycisk i klip filmowy za pomocą przeglądarki lub odtwarzacza Flasha.

Po kliknięciu utworzonego przycisku Flash wczyta zewnętrzny film do klipu filmowego. Wczytany film przejmie wszystkie ustawienia klipu filmowego, np. pozycję, skalowanie, rotację, nazwę klonu, jednak listwa czasowa na scenie będzie od teraz listwą czasową wczytanego filmu (rys. 6.54).

Wskazówka

  • Zostaw pierwsze ujęcie kluczowe twojego klipu filmowego puste, żeby służyło za pojemnik, do którego trafi wczytany film. Pamiętaj, że pusty okrąg, reprezentujący punkt początkowy tego klipu filmowego wskazuje pozycję lewego górnego rogu każdego wczytywanego filmu.

0x08 graphic
Nawigowanie
listwami czasowymi
wczytywanych filmów

Po wczytaniu filmów do głównego filmu, zyskujesz dostęp do ich listew czasowych i w efekcie kontrolę nad procesem odtwarzania. Jeśli myślałeś, że nawigowanie pomiędzy listwami czasowymi klipów filmowych było złożone, to teraz spróbuj wyobrazić sobie stopień skomplikowania sytuacji, w której masz do czynienia z wieloma filmami, przy czym każdy zawiera dodatkowo własny zestaw klipów filmowych!

Flash umożliwia określanie ścieżek dostępu do wczytywanych filmów i ich listew czasowych w logiczny, minimalizujący ryzyko pomyłki, sposób. Jako że wczytane filmy rezydują na różnych poziomach, program używa terminu _level1 w odniesieniu do filmu na poziomie 1, _level2 w odniesieniu do filmu na poziomie 2, itd. Filmy wczytywane do klipów filmowych przejmują nazwy przypisane do klonów tych klipów, tak więc ścieżki dostępu do tych wczytanych filmów są w zasadzie ścieżkami dostępu do klipów filmowych. Jeśli wczytywane filmy zawierają w sobie kolejne klipy filmowe, użyj kropki do tworzenia ścieżek dostępu do plików znajdujących się niżej w hierarchii listwy czasowej, podobnie, jak robi się to w przypadku klipów filmowych na głównej listwie czasowej. Przykładowo, _level2.bigCircle.smallCircle jest ścieżką dostępu do klipu filmowego o nazwie smallCircle, zawierającego się w klipie filmowym bigCircle, a rezydującego w filmie wczytanym do poziomu 2.

W celu utworzenia
ścieżki dostępu do wczytanego filmu:

  1. Tak jak w poprzednich ćwiczeniach, utwórz animację, która posłuży za zewnętrzny film Flasha. Wyeksportuj ją do pliku SWF.

  2. Otwórz nowy dokument Flasha. Utwórz przycisk i przeciągnij jego klon z biblioteki na scenę.

0x08 graphic
0x01 graphic

Rys. 6.55. Akcja loadMovieNum przypisana do przycisku umieszcza plik bouncingball na poziomie 1

0x01 graphic

Rys. 6.56. Metoda stop wykonywana jest w filmie na poziomie 1

0x01 graphic

Rys. 6.57. Manipulator onClipEvent (data) w menu palety akcji

  1. Przypisz do przycisku akcję loadMovieNum, podając nazwę zewnętrznego pliku SWF jako adres w polu URL i wpisując liczbę większą niż 0 w polu Location (rys. 6.55)

  2. Przeciągnij na scenę kolejny klon utworzonego przycisku, który posłuży do kontrolowania listwy czasowej wczytywanego filmu.

  3. Z palety akcji wybierz Actions/evaluate (Esc + ev). Poniżej manipulatora zdarzenia myszy on (release) pojawi się wyrażenie evaluate.

  4. W polu Expression wpisz _level, następnie numer poziomu, a potem kropkę i na końcu metodę stop() (rys. 6.56).

Wyrażenie to wstrzymuje odtwarzanie na listwie czasowej filmu umieszczonego na podanym poziomie.

  1. Wyeksportuj główny film do pliku SWF i umieść go w tej samej lokalizacji, co zewnętrzny plik SWF. Odtwórz film zawierający przyciski za pomocą przeglądarki lub odtwarzacza Flasha. Pierwszy z przycisków wczytuje zewnętrzny plik SWF do wskazanego poziomu. Drugi przycisk powoduje przejście do tego poziomu i zatrzymuje odtwarzanie.

Wykrywanie zdarzenia Load Movie

Wczytanie zewnętrznego filmu wyzwala zdarzenie, które możesz wykryć. Zewnętrzne pliki SWF są plikami danych, więc można użyć zdarzenia klipu filmowego onClipEvent (data) do określania, czy pliki SWF zostały wczytane w całości (rys. 6.57).

0x08 graphic
Ten manipulator zdarzenia jest przydatny, gdy akcja loadMovieNum pojawia się automatycznie lub dynamicznie. Ostatecznie, jeśli akcja loadMovieNum jest wykonywana po wciśnięciu przycisku, możesz po prostu użyć zdarzenia myszy jako manipulatora. Manipulator onClipEvent (data) jest używany także do wykrywania danych nadchodzących w formie zmiennych. Dane z zewnątrz mogą być wczytywane do Flasha tak, jak zewnętrzne pliki SWF. Więcej na temat zmiennych dowiesz się z części V, „Praca z informacją”.

W celu wczytania
manipulatora zdarzenia
klipu filmowego:

  1. Utwórz symbol klipu filmowego i przeciągnij jego klon z biblioteki na scenę.

  1. Zaznacz klon klipu filmowego i otwórz paletę akcji.

  2. Wybierz Actions/onclipEvent (Esc + oc) (rys. 6.58).

  3. W bloku edycji parametrów kliknij Data radio button.

  4. Z okna narzędzi wybierz odpowiednią akcję, wykonywaną w odpowiedzi na wczytanie zdarzenia klipu filmowego (rys. 6.59).

Jeśli rozpocznie się wczytywanie pliku SWF do głównego filmu, wystąpi zdarzenie onClipEvent (data) i zostanie wykonana akcja przypisana do tego zdarzenia.

0x01 graphic

Rys. 6.58. Zdarzenie onClipEvent

0x01 graphic

Rys. 6.59. Po wczytaniu zewnętrznego filmu Flash przechodzi do ujęcia o nazwie incoming w klipie filmowym display

0x08 graphic
0x08 graphic
0x01 graphic

Rys. 6.60. Wybierz Window/Generator Objects

0x01 graphic

Rys. 6.61. Przeciągnij obiekt Insert Flash Movie z palety Generator Objects na scenę

Współpraca
z narzędziem Generator

Z pewnością akcja loadMovieNum przydaje się do wczytywania zewnętrznych filmów Flasha, jednak filmy takie pozostają statyczne, jako że ich grafika i animacje zostały wcześniej zaprojektowane i wyrenderowane. Jeśli chcesz wprowadzać zawartość „w locie” i tworzyć grafikę oraz animację Flasha z dynamiczną zawartością, potrzebujesz narzędzia zwanego Flash Generator.

Praca z Generatorem przebiega w dwóch fazach. Najpierw tworzysz we Flashu szablony, nazywane plikami szablonu Shockwave Flash (SWT). Szablony te określają typ wykorzystywanych danych oraz ich przeznaczenie. Następnie, kiedy uzyskasz dostęp do owych plików SWT za pomocą przeglądarki, Generator Dynamic Graphics Sever łączy szablony z danymi i dostarcza zintegrowane media odbiorcy. Generator jest idealnym narzędziem do tworzenia grafik Flasha z nieustannie zmieniającymi się informacjami. Na przykład, graficzna mapa pogody może być tworzona w czasie rzeczywistym na podstawie informacji pogodowych dostępnych na serwerze; podobnie odpowiedni banner mógłby wyświetlać na bieżąco uaktualnienia cen na giełdzie.

Jako że praca z Generatorem opiera się na wykorzystaniu osobnej aplikacji serwerowej, ograniczymy się w poniższym ćwiczeniu do przygotowania pojedynczego pliku SWT, wywołującego film Flasha.

W celu utworzenia
szablonu Generatora:

  1. Wybierz Window/Generator Objects (rys. 6.60). Pojawi się paleta Generator Objects.

  1. Umieść na scenie obiekt Insert Flash Movie (rys. 6.61).

  1. 0x08 graphic
    0x08 graphic
    Kliknij dwukrotnie obiekt Insert Flash Movie lub wybierz Window/Panels/ Generator. Pojawi się paleta Generator.

  2. Jako nazwę pliku (File Name) wprowadź nazwę innego pliku SWF, który zostanie umieszczony w tej samej lokacji (rys. 6.62).

  3. Wybierz File/Publish Settings. Otworzy się okno dialogowe Publish Settings.

  4. W zakładce Formats zaznacz opcje Flash, Generator Template i HTML (rys. 6.63).

  5. W zakładce Generator wybierz kolor tła (pole Background), ponieważ Generator zastąpi ustawienia filmu Flasha (rys. 6.64).

  6. Kliknij Publish. Flash wyeksportuje pliki HTML, SWF i SWT.

  7. Umieść wszystkie pliki (HTML, SWF i SWT) w tej samej lokacji na twoim serwerze sieciowym.

  8. W przeglądarce wpisz pełny adres URL pliku SWT, np.:

http://www.myserver.com/intro.swt

0x01 graphic

0x01 graphic

Rys. 6.63. W zakładce Formats okna dialogowego Publish Settings wybierz następujące typy plików: Flash, Generator Template oraz HTML

0x01 graphic

Rys. 6.64. Wybierz kolor tła (Background) w zakładce Generator okna dialogowego Publish Settings

Tabela 6.3. Parametry akcji FSCommand dla projektorów0x08 graphic

Projektory i akcja FSCommand

Najczęściej twoje filmy Flasha będą odtwarzane w przeglądarkach, za pośrednictwem sieci Internet. Flash został zaprojektowany i skonstruowany właśnie z tą myślą. Jednak program umożliwia także tworzenie projektorów, samouruchamiających się aplikacji, które nie wymagają przeglądarki, czy odtwarzacza filmów Flasha. Zarówno w systemie Windows, jak Mac OS możesz tworzyć projektory zgodne jednocześnie z obu tymi platformami. W przypadku Windows pliki takie posiadają rozszerzenie .EXE, w Mac OS do nazwy pliku dodawane jest słowo projector. Projektory mają większe rozmiary niż tradycyjne pliki SWF, jednak zawierają wszystko, co jest potrzebne do obejrzenia zawartości, którą przygotowałeś, włączając w to grafikę, animację, dźwięk i funkcje interaktywne. Używaj projektorów do umieszczania projektów Flasha na przenośnych mediach, jak dyskietki i płyty CD-ROM, co jest idealnym sposobem na przygotowanie wszelkiego rodzaju prezentacji i materiałów reklamowych.

Jednak odtwarzanie filmów Flasha za pośrednictwem projektorów jest wyjątkowe w jednym aspekcie. Projektory nie używają dokumentu HTML, zawierającego znaczniki, czyli „instrukcje” określające sposób wyświetlania. Czy odtwarzanie ma być pełnoekranowe? Czy można zmieniać rozmiar okna? Takie opcje są dostępne w przypadku publikacji w formacie HTML, ale nie wtedy, gdy korzystasz z projektorów. Jeśli chciałbyś ustawić lub zmienić podobne parametry wyświetlania, skorzystaj z akcji FSCommand, która sama w sobie zawiera tylko kilka prostych parametrów odnośnie projektorów, tak jak przedstawiono to w tabeli 6.3.

Parametr Opis i argumenty

fullscreen

Zezwala na odtwarzanie w trybie pełnoekranowym i uniemożliwia skalowanie (prawda lub fałsz).

allowscale

Skaluje grafikę przy zmianie rozmiaru okna (prawda lub fałsz).

trapallkeys

Zezwala filmowi (w miejsce odtwarzacza) na przechwytywanie zdarzeń naciskania klawiszy (prawda lub fałsz).

showmenu

Wyświetla menu podręczne w przypadku kliknięcia obszaru filmu prawym przyciskiem myszy (prawda lub fałsz).

exec

Uruchamia plik wykonawczy (ścieżka dostępu do pliku).

quit

Zamyka projektor

0x08 graphic
W celu opublikowania projektora:

  1. Otwórz swój plik Flasha. Wybierz File/Publish Settings (Shift+Ctrl+F12) (rys. 6.65). Pojawi się okno dialogowe Publish Settings.

  1. Usuń zaznaczenie wszystkich pól wyboru, z wyjątkiem pozycji Macintosh Projector lub Windows Projector (rys. 6.66).

  2. Jeśli zamierzasz nadać projektorowi nazwę inną od domyślnej, usuń zaznaczenie pola wyboru Use default names i wprowadź właściwą nazwę.

  3. Kliknij Publish.

Plik projektora zostanie zapisany w tym samym folderze co plik Flasha.

lub

  1. Uruchom odtwarzacz Flasha.

  1. Wybierz File/Open File (Ctrl+O). Zaznacz plik Flasha.

  2. Wybierz File/Create Projector... (Ctrl+K) (rys. 6.67).

  3. Wybierz folder docelowy oraz nazwę. Kliknij OK.

Wskazówka

  • Użycie akcji getURL w projektorze umożliwia uruchomienie domyślnej przeglądarki internetowej i dowolnego łącza sieciowego.

0x01 graphic

Rys. 6.65. Kliknięcie Publish spowoduje wyeksportowanie wszystkich typów zaznaczonych w zakładce Formats

0x01 graphic

Rys. 6.66. Zakładka Formats okna dialogowego Publish Settings. Zaznacz opcje Windows Projector i Macintosh Projector

0x01 graphic

Rys. 6.67. Polecenie Create Projector, dostępne w odtwarzaczu Flasha, eksportuje bieżący plik do postaci projektora

0x08 graphic
0x01 graphic

Rys. 6.68. Dostęp do akcji FSCommand na palecie akcji

0x01 graphic

Rys. 6.69. Opcje akcji fscommand dla projektorów pojawiają się w menu rozwijanym u dołu bloku edycji parametrów

0x01 graphic

Rys. 6.70. Argument true parametru fullscreen uruchamia odtwarzanie projektora w trybie pełnoekranowym

0x01 graphic

Rys. 6.71. Argument false parametru Command wyłącza menu podręczne (otwierane kliknięciem prawego klawisza myszy)

W celu użycia akcji FSCommand
w projektorze:

  1. Zaznacz pierwsze ujęcie kluczowe filmu Flasha, który chciałbyś wyeksportować do postaci projektora. Otwórz paletę akcji.

  1. Wybierz Actions/FSCommand (Esc + fs) (rys. 6.68).

Akcja FSCommand pojawi się w oknie skryptu wraz z parametrami Command Argument oraz menu rozwijanym, specyficznym dla projektorów (rys. 6.69).

  1. Z menu rozwijanego wybierz fullscreen.

Teraz w polu Command widnieje fullscreen, a w polu Argument - true (prawda) (rys. 6.70).

  1. Z okna narzędzi wybierz ponownie FSCommand. Z menu rozwijanego wybierz showmenu.

Teraz w polu Command widnieje showmenu, a w polu Argument - true (prawda).

  1. W polu Argument zmień true na false (fałsz) (rys. 6.71).

  1. 0x08 graphic
    Utwórz przycisk i umieść jego klon na scenie. Zaznacz klon i otwórz paletę akcji.

  2. Wybierz Actions/FSCommand.

  3. Z menu rozwijanego Command w bloku edycji parametrów wybierz quit (rys. 6.72).

  4. Opublikuj Swój film jako projektor. Uruchom projektor, klikając nań dwukrotnie. Projektor Flasha zostanie odtworzony w trybie pełnoekranowym. Zapobiega to skalowaniu okna. Menu podręczne, uruchamiane kliknięciem prawego klawisza myszy, jest wyłączone. Kiedy klikniesz utworzony przycisk, okno projektora zostanie zamknięte.

0x01 graphic

Rys. 6.72. Akcja fscommand (”quit”) przypisana do przycisku zamyka okno projektora

0x08 graphic

Komunikacja z drukarką

Flash umożliwia przesyłanie informacji bezpośrednio do drukarki i wydruk tekstu oraz grafiki z pominięciem standardowych funkcji drukowania dostępnych w przeglądarce. Drukowanie jest możliwe nawet w czasie odtwarzania filmu we Flashu lub jako projektora. Za pomocą akcji print oraz printAsBitmap możesz przesłać do drukowania pojedyncze ujęcie lub grupę ujęć, a także wskazać, które obszary tych ujęć mają zostać wydrukowane. Owe obszary drukowania nie muszą być wcale widoczne na scenie. Dla drukarki dostępne są grafika i tekst z dowolnego ujęcia na głównej listwie czasowej, a także listwie czasowej klipu filmowego, co czyni z akcji print coś więcej niż tylko prymitywne narzędzie do sporządzania sztywnych kopii bieżącej zawartości ekranu monitora.

Załóżmy, że posiadasz dokumenty w zewnętrznych plikach SWF. Mógłbyś w łatwy sposób wczytać wybrany film do klipu filmowego lub do innego poziomu za pomocą akcji loadMovieNum, a następnie wydrukować zaznaczone ujęcia z wczytanego filmu.

W rozdziale 10. dowiesz się o wprowadzaniu tekstu oraz o dynamicznym tekście, dzięki którym można wprowadzać informacje z klawiatury i wyświetlać tekst w sposób dynamiczny. Możliwości te można łączyć np. z formularzami zamówienia lub rachunkami, które potem prześlesz do drukarki.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
W celu wydrukowania
wybranego ujęcia z filmu:

  1. Przygotuj grafikę, która będzie dostępna dla drukarki, w ujęciu kluczowym. To dobry pomysł, żeby przechowywać taką grafikę w klipie filmowym, dzięki czemu może ona zajmować swoją własną listwę czasową (rys. 6.73).

  1. Zaznacz ujęcie kluczowe. W polu Label palety Frame wpisz #P (rys. 6.74).

Etykieta #P określa ujęcie kluczowe jako przeznaczone do wydrukowania. W przypadku niewprowadzenia tej etykiety, do drukowania zostaną przesłane wszystkie klatki filmu.

  1. Wróć do głównej listwy czasowej i przeciągnij klon twojego klipu filmowego na scenę. Na palecie Instance wprowadź nazwę klonu.

  2. Wróć do głównej listwy czasowej i utwórz przycisk. Przeciągnij jego klon na scenę.

  3. Zaznacz przycisk i otwórz paletę akcji. Wybierz Actions/print (Esc + pr). Poniżej zdarzenia myszy on (release) pojawi się akcja print (rys. 6.75).

  4. W bloku edycji parametrów wybierz As vectors z menu rozwijanego Print, Target z menu rozwijanego Location oraz Movie z menu rozwijanego Bounding box. W polu Location wprowadź ścieżkę dostępu do klonu klipu filmowego (rys. 6.76).

  5. Przetestuj film.

Kliknięcie utworzonego przycisku spowoduje przesłanie do drukarki grafiki z ujęcia kluczowego #P klipu filmowego. Klikaj OK w pojawiających się oknach dialogowych, aby rozpocząć drukowanie (rys. 6.77).

0x01 graphic

Rys. 6.73. Klip filmowy zawiera w ujęciu kluczowym 2. grafikę przeznaczoną do wydruku. W ujęciu kluczowym 1. akcja stop zapobiega odtwarzaniu klipu

0x01 graphic

Rys. 6.74. W oddzielnej warstwie, dodaj etykietę #P do ujęcia kluczowego 2

0x01 graphic

Rys. 6.75. Do przycisku przypisano akcję print

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

Rys. 6.76. Klon klipu filmowego, zawierającego grafikę przeznaczoną do druku, nosi nazwę bikespecs. Ta akcja print odnosi się więc do klonu o nazwie bikespecs

0x01 graphic

Rys. 6.77. Klon klipu filmowego na scenie (u góry) zawiera grafikę, która zostanie wydrukowana (u dołu)

0x01 graphic

Rys. 6.78. Parametry akcji print. Do wydrukowania wybrano zawartość filmu wczytanego do poziomu 1

Wskazówki

  • Wykonanie akcji print zatrzymuje odtwarzanie filmu. Pamiętaj o tym, jeśli zamierzasz integrować funkcje drukowania z animacją. Może trzeba będzie dodać do animacji przycisk wznawiający odtwarzanie po wykonaniu akcji print.

  • Drukowanie ujęcia kluczowego zawierającego klip filmowy zakończy się na wydrukowaniu zawartości jedynie pierwszego ujęcia tego klipu. Jeśli chcesz wydrukować wszystkie ujęcia, wprowadź ścieżkę dostępu do samego klonu klipu filmowego.

  • Nie używaj akcji print jako akcji kontrolującej ujęcia. W przypadku drukowania za pomocą tego typu akcji program zapętla się, próbując wydrukować nieskończoną ilość kopii, a to powoduje zawieszenie systemu! Zawsze przypisuj akcję print do manipulatora zdarzenia.

  • Żeby ocenić stosunek rzeczywistej wielkości grafiki do jej rozmiaru w druku, pomnóż rozmiar w pikselach przez rozdzielczość ekranu, wynoszącą 72 ppi (piksele na cal). Tak więc kartka papieru o wielkości 8,5 × 11 cali odpowiada scenie o rozdzielczości 612 pikseli (8,5 cala × 72 ppi) na 792 pikseli (11 cali × 72 ppi). Trzeba też wziąć pod uwagę marginesy ograniczające właściwy obszar zadruku strony.

  • Wybierz opcję Level z menu rozwijanego Location, żeby wprowadzić ścieżkę dostępu do pliku wczytanego do wskazanego poziomu (rys. 6.78). Wydrukowane zostaną wszystkie klatki wczytanego filmu, chyba że wprowadzisz etykietę #P wybierającą tylko określone ujęcia.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
W celu wydrukowania
grupy ujęć twojego filmu:

  1. Oznacz każde ujęcie przeznaczone do wydrukowania etykietą #P.

lub

Jeśli zamierzasz wydrukować grupę ujęć umieszczonych w różnych listwach czasowych, musisz wpisać oddzielne polecenia drukowania w oknie palety akcji. W przypadku skorzystania z tej metody będziesz miał do czynienia z kilkoma oknami dialogowymi, bowiem Flash może drukować grupę ujęć, ale każde z osobnej ścieżki dostępu (rys. 6.79).

W celu ustalenia
obszaru drukowanego twojego filmu:

  1. Z menu rozwijanego Bounding box palety akcji wybierz Movie. Narysuj w jednym z ujęć kluczowych ramkę wyznaczającą obszar grafiki i za pomocą palety Frame nadaj jej etykietę #B. Ostatni argument akcji print zostanie zmieniony na bmovie. Ramka, którą narysowałeś, definiuje obszar drukowany wszystkich ujęć oznaczonych etykietą #P (rys. 6.80).

lub

Z menu rozwijanego Bounding box wybierz Frame.

Ostatni argument akcji print zostanie zmieniony na bframe. Grafiki umieszczone we wszystkich ujęciach kluczowych oznaczonych etykietą #P zostaną przeskalowane do wielkości odpowiadającej maksymalnemu obszarowi drukowanemu (rys. 6.81).

0x01 graphic

Rys. 6.79. Wydrukowane zostaną ujęcia z klipów filmowych taxforms oraz receipts. Dwa oddzielne klipy filmowe wymagają dwu wyrażeń print

0x01 graphic

Rys. 6.80. Opcja bmovie. Ujęcie kluczowe 26. zawiera obramowanie grafiki określające obszar drukowany wszystkich trzech obrazków

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. 6.81. Opcja bframe. Niepotrzebne są żadne etykiety #B. Każdy z obrazków zostaje przeskalowany do wielkości obszaru drukowanego. Zauważ, że krewetka w druku będzie miała proporcje wielkości rekina

0x01 graphic

Rys. 6.82. Opcja bmax. Niepotrzebne są żadne etykiety #B. Obramowanie grafiki jest tworzone na podstawie uśrednionego rozmiaru i lokalizacji wszystkich trzech obrazków

lub

Z menu rozwijanego Bounding box wybierz Max. Ostatni argument akcji print zostanie zmieniony na bmax. Flash definiuje maksymalną szerokość i wysokość na podstawie wszystkich drukujących się ujęć, a następnie przeskaluje grafikę względem ustalonej w ten sposób wielkości obszaru drukowanego (rys. 6.82).

Wskazówki

  • Obramowanie grafiki, definiowane w ujęciu kluczowym z etykietą #B, może mieć dowolny kształt, jednak Flash rozpoznaje jedynie prostokąt, w który ów kształt może zostać wpasowany. I ten właśnie prostokąt określa obszar drukowany.

  • Dobrym pomysłem jest kopiowanie i wklejanie obramowania grafiki do warstwy wzorcowej. W ten sposób można ocenić stosunek wielkości obszaru drukowanego do grafiki przeznaczonej do wydruku.

  • Upewnij się, że w ujęciu zawierającym ujęcie kluczowe z etykietą #B nie umieściłeś w kolejnych warstwach żadnych innych kształtów lub obiektów. W przeciwnym wypadku obramowanie grafiki zostanie powiększone, a przy tym zmienia się zamierzony wcześniej obszar drukowany (Rys 6.83).

0x01 graphic

Rys. 6.83. Te dwa obrazki w ujęciu #B wymuszają większą powierzchnię obramowania grafiki

0x08 graphic
W celu wydrukowania grafiki zawierającej przezroczystości
lub efekty kolorystyczne:

  1. Z menu rozwijanego Print palety akcji wybierz opcję As bitmap (rys. 6.84). Grafiki zawierające przezroczystości lub efekty kolorystyczne nie wydrukują się właściwie, jeśli nie użyjesz wyrażenia printAsBitmap. Jednak taki sposób drukowania daje w efekcie niższą jakość od wydruków wektorowych.

0x01 graphic

Rys. 6.84. Opcja Print As bitmap na palecie akcji, użyteczna w przypadku drukowania przezroczystości i efektów kolorystycznych

Rozdział 6.

190

189

Zarządzanie zasobami zewnętrznymi

6

Zarządzanie
zasobami zewnętrznymi

Pasek stanu

Adres

Rys. 6.5. Adres sieciowy wpisany w polu URL zakładki Character palety Character zmienia statyczny tekst w łącze do podanej strony

Dolna ramka

Miejsca docelowe

Film Flasha (SWF)

Górna ramka

Ramka

Ramka Navigator

Pasek narzędziowy

Pasek menu

Góra

Lewy róg

Wysokość

Szerokość

Zdefiniuj właściwości w metodzie window.open

Film na poziomie 0

Film na poziomie 1

Film na poziomie 1

Film bouncingball.swf na poziomie 1

Akcja loadMovieNum

Pasek przewijania

Skalowanie

Kod JavaScript

Film na poziomie 0

Film na poziomie 1

Film na poziomie 1

Film na poziomie 1

Film na poziomie 1

Film na poziomie 0

Film na poziomie 0

Film na poziomie 0

Film na poziomie 0

Film bouncingball.swf na poziomie 1

Film bouncingsquare.swf na poziomie 1

Klip filmowy w kształcie trójkąta

Zewnętrzny film

Punkt początkowy klipu filmowego w kształcie trójkąta

Klip filmowy na poziomie 0

Klip filmowy na poziomie 0

Film wczytany do klipu filmowego w kształcie trójkąta

Klip filmowy w kształcie trójkąta

Klip filmowy na poziomie 0

Klip filmowy na poziomie 0

Film wczytany do klipu filmowego w kształcie trójkąta

Zewnętrzny film

Klip filmowy - obrócony, przeskalowany i przekrzywiony

Wczytany film - obrócony, przeskalowany i przekrzywiony

Rys. 6.52. Klon klipu filmowego posłuży za miejsce przeznaczenia dla wczytanego w przyszłości filmu

Klip filmowy greensquare, obrócony o 45 stopni

Film bouncingball.swf wczytany do pliku _root.greensquare

Rys. 6.62. Plik myMovie.swf jest względną ścieżką dostępu do filmu, który ma zostać wstawiony. Plik ten powinien znajdować się w tej samej lokalizacji co plik SWT

stop

Klon klipu filmowego bikespecs z pustym pierwszym ujęciem kluczowym

Przycisk z przypisaną akcją print

Wydrukowana strona

Rekin w klatce 8.

Barakuda w klatce 14.

Krewetka w klatce 20.

Obramowanie grafiki w klatce 26.

Wydrukowane strony

Rekin w klatce 8.

Barakuda w klatce 14.

Krewetka w klatce 20.

Wydrukowane strony

Rekin, barakuda i krewetka są umieszczone w oddzielnych ujęciach kluczowych

Obramowanie grafiki utworzone z uwzględnieniem wszystkich trzech obrazków

Wydrukowane strony

Obramowanie grafiki obejmuje wszystkie elementy graficzne w ujęciu #B

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Współpraca z narzędziem Generator

Projektory i akcja FSCommand

Projektory i akcja FSCommand

Komunikacja z drukarką

Komunikacja z drukarką

Komunikacja z drukarką

Zarządzanie zasobami zewnętrznymi

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Komunikacja

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Dołączanie filmów z zewnątrz

Współpraca z narzędziem Generator

Projektory i akcja FSCommand

Projektory i akcja FSCommand

Komunikacja z drukarką

Komunikacja z drukarką

Komunikacja z drukarką



Wyszukiwarka

Podobne podstrony:
Prawo 06.12.11 - prawo cywilne, Dziennikarstwo i komunikacja społeczna (KUL) I stopień, Rok 1, semes
Mikołajki 06.12.2012, BACHAMAS, Kronika 2012 2013
12 06 12
2015 03 06 12 31 55 1
F II ME 08 06 12 2012
Bogdanowicz 06 12 2008
Odpowiedzi egzamin 2 (28 06 12)
2015 03 06 12 31 55
Kryon 06 12 06 Public Channeling
17 06 12 Projekt Zbiornika Ciśnieniowego
czapelski SzNP 06 12
Makroekonomia Wykład 06 12 2009
2015 03 06 12 31 55 3
metodyka pracy opeikunczo wychowaczej, Metodyka pracy opiekuńczo - wychowawczej 06.12.2008
06 (12)
06 12 86
2015 03 06 12 31 55 2
Koncepcja zarzšdzania - Wykład 06.12.2009, HR STUDIA
Portfolio projektu 06 12 2010
Makroekonomia Wykład 06.12.2009, HR STUDIA

więcej podobnych podstron