Rozdział 27.
Co to jest Generator?
W tym rozdziale:
Opis rozszerzeń edycyjnych
Zapoznanie się z aplikacją Generator Server
Obiekty Generatora
Tworzenie szablonów Generatora
Pomimo zaawansowania języka ActionScript działającego we Flashu 4 i 5 moduł odtwarzający filmy Flasha nadal nie potrafi importować tradycyjnych plików multimedialnych — trzeba mu w tym trochę pomóc. W takim przypadku na ratunek przychodzi Generator 2 firmy Macromedia. Potrzebujesz Generatora, jeśli chcesz dynamicznie wstawiać lub aktualizować obrazy bitowe w filmie Flasha. Oczywiście Generator potrafi dużo więcej, więc nie przedłużajmy wprowadzenia i przejdźmy do jego opisu.
Ogromne podziękowania dla Mike'a Jonesa, który dostarczył informacji o Generatorze w książce „Flash 4. Księga eksperta”. Mike jest członkiem zespołu Spooky and the Bandit, który zajmuje się tworzeniem filmów Flasha (www.spookyandthebandit.com). Uaktualniliśmy i poprawiliśmy jego materiał, aby odzwierciedlał zmiany wprowadzone w Generatorze 2.
Ogólne omówienie Generatora 2
Generator 2 firmy Macromedia to zarówno narzędzie, jak i aplikacja serwerowa używana do tworzenia automatycznej i personalizowanej grafiki dla witryn. Aplikacja potrafi tworzyć grafikę w następujących formatach: .SWF, .GIF (także animacje), .JPEG, .PNG, mapy obrazów i filmy Flasha w formacie QuickTime. Za pomocą Generatora grafikę możesz przedstawiać innym użytkownikom. Aplikacja jest także wykorzystywana do tworzenia często aktualizowanych zawartości witryn, jak banery reklamowe, informacje giełdowe, przewijane listy, trójwymiarowe wykresy, mapy, kalendarze lub skróty najważniejszych wiadomości. W drugim wydaniu Generatora 2 dodano obsługę filmów Flasha 5 oraz trzy nowe obiekty: Multipage List, Radio Button i Insert MP3 File.
Ostrzeżenie! Ten rozdział poświęcony jest tylko drugiemu wydaniu Generatora 2, ponieważ pierwsze wydanie nie jest kompatybilne z filmami Flasha 5. Generator 1 nie jest kompatybilny z filmami Flasha 4 i 5. Nie próbuj ponownie instalować Generatora 1, aby używać go z Flashem 4 lub 5.
Generator został utworzony po to, aby rozdzielić elementy tworzone przez projektantów od rzeczywistej zawartości. Twórcy uzyskali znacznie lepszą kontrolę nad modyfikacją i aktualizacją witryny. Generator pobiera pewien zestaw elementów i wstawia je w miejsce określonych zmiennych. Na przykład Generator umożliwia zastąpienie w szablonie tymczasowego obrazu .GIF i dostarczenie użytkownikowi pliku .SWF z najnowszą mapą pogody. Tym sposobem twórcy witryn oszczędzają czas i pieniądze, bo nie zajmują się już zmianą zawartości witryny, a projektanci mają czas robić to, co wychodzi im najlepiej — projektować.
Programiści firmy Macromedia podzielili Generatora na dwie części. Aby tworzyć szablony Generatora, potrzebujesz darmowego rozszerzenia Generator Authoring Extensions. To rozszerzenie jest domyślnie instalowane wraz z Flashem 5. Rozszerzenie możesz także pobrać z witryny firmy Macromedia. Aby wypełniać zawartością utworzone szablony, musisz zainstalować aplikację Generator Server na serwerze WWW. Generator Server dostępny jest dla następujących systemów operacyjnych: Windows, Solaris oraz Linux.
Tworzenie witryny wykorzystującej Generator jest procesem dwuczęściowym. Najpierw, używając rozszerzenia Generatora, tworzysz we Flashu 5 graficzny szablon witryny. Następnie do pracy zaprzęgasz aplikację Generator Server, która wypełnia szablon danymi pochodzącymi z zewnętrznego źródła. W ten sposób w szablonie znajdzie się najbardziej aktualna grafika (w formacie .SWF, .GIF — także animacje, .JPEG, .PNG lub .MOV).
Zanim zajmiemy się rozszerzeniami Generatora, pokrótce omówimy aplikację Generator Server.
Aplikacja Generator Server
Jak już wcześniej wspomnieliśmy, aby wypełniać szablony Generatora dynamiczną zawartością, musisz zakupić i zainstalować na serwerze WWW aplikację Generator Server. Jest to serce Generatora: znajduje się na serwerze WWW, gdzie w szablonach (pliki .SWT) utworzonych za pomocą Flasha 5 oraz rozszerzeń Generatora umieszcza określone dane z zewnętrznego źródła, a następnie plik .SWF (lub w innym formacie graficznym) przesyła do użytkownika. Na rysunku 27.1 przedstawiony jest przepływ danych w tym procesie.
Rysunek 27.1. Gdy następuje żądanie pliku .SWT, na serwerze WWW z uruchomioną aplikacją Generator Server Generator 2 tworzy plik .SWF (na podstawie szablonu .SWT i zewnętrznych danych) i przesyła go do użytkownika
Generator nie jest ograniczony do tworzenia interaktywnych witryn opartych na Flashu; aplikacja Generator Server potrafi konwertować zawartość filmu Flasha (lub dowolnego pliku .SWT) do obrazu .GIF, .JPEG, .PNG, a nawet filmu Flasha w formacie QuickTime. Poza tym Generator umożliwia usuniecie grafiki z pliku .SWT i zapisanie tekstu w standardowym pliku tekstowym. (Aplikacja nie formatuje tekstu). Generator potrafi tworzyć mapy obrazów — zarówno po stronie serwera, jak i klienta. Wszystkie powyższe operacje można wykonywać na żądanie użytkownika (tryb online) lub co określony czas (tryb offline).
Wydania Generatora
Przed wydaniem Flasha 5 firma Macromedia ogłosiła, że powstaną dwa wydania aplikacji Generator: Enterprise i Developer. Wydanie Enterprise przeznaczone jest dla wymagających projektów, natomiast z wydania Developer powinni korzystać twórcy witryn lub niewielkie witryny. Wydanie Enterprise jest znacznie droższe, jego koszt mogą udźwignąć tylko duże firmy (jego cena zaczyna się od 30 tysięcy dolarów). Wydanie Developer można kupić za 999 dolarów lub nawet mniej, jeśli kupisz je wraz z uaktualnieniem innego programu firmy Macromedia.
Oba wydania potrafią wykonywać to samo podstawowe zadanie — konwertować pliki .SWT i dane do plików .SWF. Różnica pomiędzy edycjami polega przede wszystkim na potencjalnej szybkości generowania plików .SWF przez aplikację Generator Server. Wydanie Developer używa tylko jednego procesora, natomiast wydanie Enterprise wykorzystuje wszystkie dostępne procesory i może jednocześnie przyjąć znacznie więcej wywołań plików .SWT niż wydanie Developer. Wydanie Enterpise może także wykorzystywać bufor serwera, aby przechowywać tam najczęściej wywoływaną zawartość. W ten sposób, jeśli użytkownik zażąda zawartości znajdującej się w buforze, Generator dostarczy mu ją znacznie szybciej. Wydanie Enterpise posiada także bardziej rozbudowane funkcje administracyjne.
Jeśli chcesz tworzyć lub testować szablony Generatora, nie potrzebujesz wydania Enterprise. Do wypełniania szablonów zawartością na własnej witrynie możesz korzystać z wydania Developer, ale nie spodziewaj się zbyt dużej prędkości generowania (ponad 50 plików .SWF na sekundę). Wydanie Developer przeważnie generuje od 3 do 5 plików .SWF w zależności od stanu sieci.
Uwaga! Aby używać aplikacji Generator Server, musisz mieć dostęp do serwera WWW. Większość serwerów WWW nie pozwala stosować szablonów Generatora, więc powinieneś się w tej sprawie skontaktować z Twoim dostawcą Internetu. Jeśli masz szybkie połączenie z Internetem (na przykład przez sieć kablową lub modem DSL), możesz zainstalować wydanie Developer na lokalnym komputerze i testować szablony za pomocą Internetu.
Tryb online czy offline?
Na czym polegają i czym różnią się obydwa tryby? Tryb online jest używany, gdy Generator ma aktualizować dynamiczną zawartość na polecenie użytkownika. Ten tryb jest wykorzystywany przy witrynach zawierających informacje giełdowe, mapy pogodowe, rezerwacje, itp. Plik .SWF tworzony jest za każdym razem, gdy użytkownik zechce zobaczyć plik .SWT lub jest uruchomiony skrypt podający co chwilę nowe informacje.
Uwaga! Wykorzystanie trybu online do tworzenia elementów dotyczących poruszania się po witrynie lub rzadko zmieniających się informacji jest marnowaniem zasobów Generatora. Ponieważ to użytkownik wymusza aktualizację, niepotrzebnie wykorzystujesz cenne zasoby serwera WWW. Rzadko modyfikowana zawartość witryny powinna być obsługiwana przez tryb offline.
W trybie offline Generator co jakiś czas tworzy pliki .SWF i umieszcza je w wyznaczonym miejscu na serwerze WWW. W tym trybie użytkownik ma dostęp tylko do statycznego pliku .SWF i nie ma na żadnego wpływu na aktualizację. Wykorzystując ten tryb, w ogóle nie odwołujesz się do plików .SWT w dokumentach HTML. Tryb offline jest w zasadzie odpowiednikiem ręcznej modyfikacji filmu (aktualizacji znajdującej się w nim grafiki i tekstu), publikacji pliku .SWF i umieszczenia go na serwerze. Jednak w tym przypadku Generator wykonuje wszystko za Ciebie, więc możesz poświęcić swój czas na inne rzeczy (na przykład projektowanie nowych witryn). Argumenty, z jakimi chcesz uruchamiać Generatora pracującego w trybie offline, możesz umieścić w pliku wsadowym. Następnie możesz określić, by plik wsadowy był uruchamiany raz na tydzień lub wywołuj go ręcznie. Plik wsadowy możesz umieścić na serwerze WWW.
Ostrzeżenie! Tylko aplikacja Generator Server pozwala stosować tryb online. Ponieważ ta aplikacja dostępna jest tylko dla systemów Linux, Solaris oraz Windows (wersje NT Server z IIS 3.0 lub 4.0 albo Windows 95/98 z programem Personal Web Server), twórcy filmów Flasha pracujący na komputerach Macintosh mogą tylko projektować — a nie dostarczać — dynamiczną zawartość za pomocą rozszerzeń dla Flasha 5.
Symulacja trybu offline
Możesz symulować tryb offline Generatora, używając obiektów Generatora ze statycznymi adresami URL (lokalnymi lub zdalnymi) lub ścieżkami do plików. Co to oznacza? W następnej sekcji przekonasz się, że, wykorzystując darmowe rozszerzenie Generator Authoring Extension, możesz dodawać obiekty Generatora do filmu Flasha. Nawet jeżeli nie zakupiłeś aplikacji Generator Server, możesz umieszczać w filmie obiekty dotyczące obrazów lub wykresów korzystające z lokalnych (lub zdalnych) źródeł danych (na przykład plików .JPEG). Przy eksporcie filmu do pliku .SWF Flash umieści dane w odpowiednich obiektach.
Na przykład, jeśli masz obrazek pod adresem URL:
http://www.theMakers.com/books/f5bible/test.jpg
w filmie Flasha możesz umieścić obiekt JPEG i określić dla niego powyższy adres URL. Gdy we Flashu publikujesz plik .SWF, program umieści obraz w eksportowanym pliku! Tego typu symulacja pozwala bardzo szybko tworzyć wykresy kołowe lub aktualizować niektóre elementy statycznego filmu. W dalszej części rozdziału dowiesz się, jak korzystać z obiektów Generatora.
Rozszerzenie Generator Authoring Extension
Teraz, kiedy zapoznałeś się z wykorzystywaniem szablonów Generatora, powinieneś dowiedzieć się, jak je tworzyć. Rozszerzenia Generatora w połączeniu z środowiskiem edycyjnym Flasha 5 pozwalają opracowywać szablony. Rozszerzenia można wykorzystać do tworzenia zawartości dla Generatora 2. Działają one z Flashem 3, 4 i 5. Chociaż niektóre elementy można wykorzystać w filmach Flasha 2, ich używanie jest ograniczone.
Ostrzeżenie! Nowe obiekty Generatora dostarczane z Flashem 5 (Multipage List, Radio Button i Insert MP3 File) nie współpracują z pierwszym wydaniem Generatora 2. Także skrypty wykorzystujące język ActionScript Flasha 5 mogą nie działać prawidłowo z wcześniejszymi wydaniami Generatora 2. Aby bez problemów korzystać z tych obiektów i formatu .SWF Flasha 5, musisz pobrać z witryny firmy Macromedia i zainstalować uaktualnienie do drugiego wydania Generatora 2.
W odróżnieniu od pozostałych produktów firmy Macromedia Generator nie posiada graficznego interfejsu i nie jest samodzielną aplikacją. Z elementów Generatora korzystasz w środowisku edycyjnym Flasha 5. Format szablonu Generatora pojawi się jako nowy typ eksportu w zakładce Formats okna Publish Settings (rysunek 27.2). Gdy zaznaczysz opcję Generator Template (.SWT) z zakładki Formats, w oknie Publish Settings pojawi się nowa zakładka Generator (rysunek 27.3). Jeśli nie zainstalowałeś rozszerzenia Generator Authoring Extension, nie będziesz mógł zaznaczyć opcji Generator Template (.SWT) z zakładki Formats.
Rysunek 27.2. Okno Publish Settings z włączoną opcją Generator Templates
Rysunek 27.3. Zakładka Generator okna Publish Settings
Odsyłacz! Opcje z zakładki Generator okna Publish Settings omawiamy w następnym rozdziale.
Możesz także poleceniem Window/Panels/Generator otworzyć panel Generator. Jeśli nie zainstalowałeś rozszerzenia Generatora, w panelu Generator zobaczysz reklamę (rysunek 27.4).
Rysunek 27.4. Jeśli nie zainstalowałeś rozszerzeń Generatora, w panelu Generator zobaczysz reklamę (lewa część rysunku). Jeśli je zainstalowałeś, panel będzie pusty, dopóki nie zaznaczysz obiektu Generatora na obrazie
Jesteśmy gotowi do tworzenia szablonów Generatora (plików .SWT) za pomocą Flasha. Zanim jednak przyjrzymy się zasadzie kreowania szablonów, zapoznamy się z obiektami Generatora dostępnymi po zainstalowaniu rozszerzenia. Okno z obiektami Generatora (rysunek 27.5) otwierasz poleceniem Window/Generator Objects.
Rysunek 27.5. Okno Generator Objects
Okno Generator Objects wykorzystywane jest do rezerwowania miejsca dla dynamicznej zawartości w filmach Flasha. Obiekty możesz przeciągać z okna na obraz. Drugie wydanie Generatora 2 udostępnia następujące obiekty.
Basic Charts — za pomocą tego obiektu możesz tworzyć różnego rodzaju wykresy, na przykład słupkowe, liniowe.
Insert Flash Movie — pozwala wstawić film Flasha z innego źródła bezpośrednio do pliku .SWT. Generator połączy obydwa filmy w jeden. Pliki źródłowe mogą znajdować się na zewnątrz pliku .SWT (na lokalnym lub zdalnym komputerze).
Insert GIF File — jak już wcześniej wspomnieliśmy obrazy znajdujące się w plikach .GIF można wstawiać bezpośrednio do szablonu .SWT.
Insert JPEG File — działa podobnie jak Insert GIF File.
Insert MP3 File — możesz dynamicznie umieszczać pliki MP3 znajdujące się na serwerze w plikach .SWF tworzonych przez Generatora, podobnie jak możesz importować pliki MP3 do filmów Flasha 5.
Insert PNG File — działa podobnie jak Insert GIF File.
Insert Sound — pozwala umieszczać dźwięki w pliku .SWT.
Insert Symbol — pozwala umieścić symbol z biblioteki pliku .SWT bezpośrednio w szablonie .SWT. Symbole nie muszą znajdować się w bibliotece tego samego pliku .SWT, w którym je umieszczasz.
List — pozwala wyświetlać informacje w pionie lub w poziomie.
Multipage List — za pomocą tego nowego obiektu Generatora możesz podzielić dużą ilość informacji na strony. Przyciski pozwalające na poruszanie się po tekście (Wstecz, Dalej, Początek) są dodawane automatycznie.
Pie Chart — dane możesz wyświetlić, wykorzystując okrągły typ wykresu, nawet trójwymiarowy.
Plot — pozwala umieszczać elementy z biblioteki na siatce. Za pomocą tego obiektu możesz także obracać i skalować.
Radio Button — ten nowy obiekt Generatora tworzy zestaw opcji wykorzystujących istniejące symbole Flasha (znajdujących się w bibliotece) do stanów włączony, wyłączony oraz tekst.
Scrolling List — wersja obiektu List z możliwością przewijania. Wykorzystuje jednak jeden symbol, który może być wyświetlany pionowo lub poziomo, do kopiowania informacji.
Stock Chart — pozwala tworzyć wykresy giełdowe różnego typu.
Table — ten obiekt pozwala wyświetlać informacje tekstowe (na przykład terminarze) w tabeli.
Ticker — ten obiekt bazuje na obiekcie Scrolling List i przydaje się do tworzenia przesuwających się nagłówków reklam lub informacji giełdowych. Dane mogą być wyświetlane w pionie lub w poziomie.
Tworzymy szablon Generatora
Szare tło!
Skrypt czy Generator?
Często osoby tworzące we Flashu zadają następujące pytanie: „Kiedy przy tworzeniu dynamicznej zawartości powinienem korzystać z Generatora?” Odpowiedź jest prosta: „Gdy korzystasz z często zmieniającej się grafiki (na przykład obrazów)”. Jeśli w filmie Flasha masz zamiar modyfikować tylko tekst, zapewne lepiej będzie skorzystać z akcji loadMovie i loadVariables.
Od czasu wprowadzenia Flasha 4 można wczytywać dynamicznie zmieniające się dane tekstowe do filmu Flasha (plików .SWF), nie korzystając z Generatora. Jednak podstawowym problemem było to, że w jednym polu tekstowym Flasha 4 nie mogłeś stosować kilku czcionek, zmieniać ich rozmiaru oraz koloru tekstu. Za pomocą Generatora w tym samym polu mogłeś umieścić niebieski i czarny tekst. Flash 5 umożliwia już wykonanie tego samego zadania (wykorzystując znaczniki HTML w dynamicznym polu tekstowym) bez potrzeby sięgania po Generatora. Jednak nadal korzystanie z szablonów Generatora jest prostsze.
Możesz nawet symulować dynamiczną zawartość, tworząc kilka plików .SWF z różną częścią zawartości witryny. Jeśli na witrynie chcesz naprzemiennie korzystać z kilku plików JPEG, do umieszczania ich w pliku .SWF nie musisz wykorzystywać Generatora. Możesz utworzyć zestaw filmów .SWF zawierających poszczególne obrazy. Może się to wydawać bardzo pracochłonne, jednak jeśli liczba obrazów (dźwięków lub innych elementów) nie rośnie w szybkim tempie (lub się nie zmienia), wystarczy, że obrazy w plikach .SWF umieścisz jeden raz. Przy niewielkim nakładzie pracy możesz opracować film wykorzystujący akcję loadMovie do wczytywania obrazów umieszczonych w plikach .SWF.
Jeśli musisz na witrynie umieszczać dane pochodzące ze zdalnych serwerów lub stale je aktualizować, w zasadzie musisz korzystać z Generatora 2. Na przykład, korzystając ze statycznych plików .SWF, nie jesteś w stanie wysyłać każdej osobie aktualnej dla niej mapy pogodowej. Jednak Generator może skorzystać z informacji o użytkowniku (uzyskanych przy użyciu formularza lub zmiennych Generatora) i wysłać mu mapę pogodową dla regionu, w którym znajduje się odwiedzający witrynę.
Przypomnijmy wszystko jeszcze raz. Jeśli w filmach Flasha często aktualizujesz tylko tekst, prawdopodobnie nie musisz korzystać z Generatora. Natomiast potrzebujesz go, gdy zamierzasz dynamicznie zmieniać grafikę w filmie.
Koniec szarego tła!
Zainstalowałeś rozszerzenie Generatora i jesteś gotowy do utworzenia szablonu. Na początku musisz wybrać źródło danych. Może to być niewielki plik tekstowy lub program — skrypt CGI, ColdFusion, ASP (Active Server Pages) albo bezpośrednie połączenie z bazą danych. W naszym przykładzie skorzystamy z pliku tekstowego.
Wskazówka! Jako źródło danych możesz określić zmienne Generatora. Te zmienne mogą być ustawiane przez inne filmy Flasha korzystające z akcji loadVariable (i wysyłające za jej pomocą dane), aby pobierać pliki .SWT z witryny wykorzystującej Generatora.
Na lokalnym komputerze utwórz nowy katalog. Jego położenie w strukturze katalogów zależy od Ciebie. Katalogowi nadaj nazwę GenDev. Utwórz w nim trzy katalogi o nazwach data, swt i fla.
Utwórz pusty plik tekstowy w prostym edytorze tekstu, na przykład Notatniku (Windows) lub SimpleText (MacOS). Plik zapisz w katalogu data pod nazwą info.txt.
W pierwszej linii dokumentu tekstowego napisz poniższe wyrazy — zapamiętaj składnię:
zmienna, wartość
Zapisz plik i zamknij dokument tesktowy.
Uruchom Flasha 5 i w katalogu fla zapisz pod nazwą lesson1.fla pusty film Flasha.
Najwyższy czas zapoznać się z utworzoną przed chwilą strukturą katalogów. Korzystanie z relatywnych ścieżek do źródeł danych pozwoli w przyszłości bez żadnych komplikacji umieścić utworzoną strukturę na serwerze. W tak wykreowanej strukturze końcowy plik .SWT bez problemów znajdzie pliki źródłowe. Wyeksportowane za pomocą poleceń Test Movie lub Test Scene pliki .SWF są zapisywane w tym samym katalogu, co pliki .FLA, więc ukończony plik .SWT będzie mógł z nich skorzystać bez żadnych problemów.
Aby otworzyć okno, w którym ustalisz źródło danych, spójrz na prawy górny róg listwy czasowej, gdzie zobaczysz logo Generatora (rysunek 27.6). Jeśli się tam znajduje, to znaczy, że są zainstalowane rozszerzenia Generatora. Kliknięcie ikony otwiera okno Set Environment. Aby określić źródło danych, musisz otworzyć to okno.
Rysunek 27.6. Ikona otwierająca okno Set Environment (na lewo od ikony wybierania sceny)
Uwaga! W Generatorze 1 zmienne środowiska ustawiało się na listwie czasowej. Inną zmianą wprowadzoną w Generatorze 2 jest brak rozróżnienia dla Set Environment i Set SQL Environment, ponieważ znalazły się one nowym oknie Set Environment. Okno możesz otworzyć w każdej chwili; po prostu kliknij ikonę Generatora na listwie czasowej.
W prawym górnym narożniku okna Set Environment znajdują się dwie ikony: Column Name/Value data layout i Name/Value data layout (rysunek 27.7). Pozwalają one określić, jak program ma interpretować dane z pliku tekstowego. Źródło danych możesz podać za pomocą ikony w lewym górnym narożniku okna. Pamiętaj, aby używać relatywnych ścieżek dostępu.
Rysunek 27.7. Okno Set Environment
Określmy teraz źródło danych, którym będzie utworzony wcześniej plik tekstowy. Uaktywnij główne okno Flasha i kliknij logo Generatora. Po pojawieniu się okna w polu tekstowym wpisz:
../data/info.txt
Kliknij przycisk OK i zapisz film. Określiliśmy ścieżkę dostępu do źródła danych, którym w tym przypadku jest plik info.txt. Jeśli do określenia źródła danych użyłeś ikony z lewego górnego narożnika, musisz zmodyfikować ścieżkę adresową z absolutnej na relatywną. Zmień ścieżkę adresową na relatywną, jeśli w polu tekstowym ścieżka wygląda mniej więcej tak:
C:\GenDev\data\info.txt
Jesteśmy gotowi do umieszczenia elementów na obrazie filmu. Wybierz narzędzie Text Tool i zmień czcionkę na Arial (Windows) lub Helvetica (MacOS). Z przybornika wybierz czarny kolor wypełnienia, a w panelu Character ustal rozmiar czcionki na 20 punktów. Kliknij obraz, aby utworzyć statyczne pole tekstowe. W wykreowanym polu wpisz tekst {btext}{ntext}. W odróżnieniu od zmiennych języka ActionScript wszystkie zmienne Generatora pisze się wewnątrz nawiasów klamrowych ({}). Z rysunku 27.8 dokładnie dowiesz się, jak rozmieścić tekst w polu tekstowym.
Rysunek 27.8. Tworzenie we Flashu tekstu wypełnianego przez Generatora
Wskazówka! Zauważ, że tekst {btext} jest pogrubiony. Jeśli jakiemuś elementowi tekstu chcesz nadać inne formatowanie, określasz je dla zmiennej reprezentującej ten tekst, ponieważ nie możesz tego zrobić za pomocą źródła danych.
Jak możesz zauważyć, pole tekstowe jest raczej niewielkie. Jeśli je tak pozostawimy, informacje ze źródła danych nie spowodują jego rozszerzenia w poziomie, więc dłuższe wyrazy mogą być pisane w dwóch liniach. W jednej linii może zmieścić się tylko siedem znaków. Rozwiązanie problemu jest proste: rozszerz pole tekstowe, przeciągając uchwyt w kształcie kółka w prawo (rysunek 27.9).
Rysunek 27.9. Zmiana wielkości pola tekstowego
Teraz zapisz film w katalogu GenDev\fla. W czasie pracy nad filmem powinieneś co jakiś czas zapisywać projekt. Najlepiej przed każdą znaczącą modyfikacją zapisuj projekt. Gdy modyfikacja jest zadowalająca, powinieneś zapisać projekt pod nową nazwą, na przykład: gen_01.fla, gen_02.fla, itp.
Przejdź do edytora tekstu i otwórz plik o nazwie info.txt. W pliku powinny się znajdować tylko dwa wyrazy wpisane na samym początku. Przypomnijmy, że wpisaliśmy następującą linię:
zmienna, wartość
Poniżej tego wpisu — w następnej linii — dodamy nazwę pierwszej zmiennej {btext}, a w następnej linii nazwę drugiej zmiennej {ntext}:
zmienna, wartość
btext,
ntext,
Zauważ, że nie stosujemy już nawiasów klamrowych (wykorzystywanych do oznaczenia zmiennych Generatora w filmie Flasha), ale po nazwie zmiennej występuje przecinek. Przecinek rozdziela nazwę zmiennej od jej wartości.
Zapewne domyślasz się, że mogą wystąpić pewne problemy, gdy będziesz chciał wstawić tekst, który może zawierać przecinek. W takim wypadku wartość zmiennej umieszczaj pomiędzy podwójnymi cudzysłowami. Niestety wtedy pojawia się kolejny problem — tekst nie może zawierać podwójnych cudzysłowów, ponieważ mogą one spowodować zakończenie tekstu w innym miejscu, niż planowałeś (w zasadzie powodują takie same problemy, jak przecinek poza cudzysłowami). Wewnątrz podwójnych cudzysłowów możesz bez żadnych komplikacji używać pojedynczych cudzysłowów. Jeśli w tekście musisz użyć podwójnych cudzysłowów, wstawiaj przed nimi lewy ukośnik (\). Więc przykładowy tekst zawarty wewnątrz podwójnych cudzysłowów wyglądałby następująco:
Ta część tekstu \"tekstu\" znajduje się pomiędzy cudzysłowami.
Wskazówka! Jeśli w czasie generacji pliku .SWF z szablonu jest wstawiana tylko część tekstu, nie jest temu winien Generator. Prawdopodobnie do jednego z plików zawierających wstawiany tekst wkradł się błąd składniowy. Jeśli tekst w ogóle nie jest wstawiany, sprawdź wszystkie źródła danych, zanim zaczniesz za wszystko obwiniać Generator. Pamiętaj, że większość elementów tworzonych przez użytkownika może spowodować błąd — bardzo często słyszy się coś takiego: „zapomniałem włączyć eksport do szablonu Generatora”. Oczywiście nie twierdzimy, że Generator jest niezawodny.
Przypiszmy wartości obydwu zmiennym. Pierwszej zmiennej, btext, przypiszemy następującą wartość:
Generator
a drugiej (ntext) wartość:
Zapraszamy do personalizacji
Ukończony dokument tekstowy powinien wyglądać mniej więcej tak:
zmienna, wartość
btext, Generator
ntext, Zapraszamy do personalizacji
Zapisz plik tekstowy i zamknij edytor tekstu. Zakończyliśmy pracę nad źródłowym plikiem tekstowym. Uruchom Flasha, jeśli zamknąłeś go w czasie edycji pliku tekstowego. Po raz ostatni zaglądamy do Flasha.
Sprawdzimy teraz, czy film rzeczywiście skorzysta z pliku tekstowego. Otwórz plik lesson1.fla i sprawdź jeszcze raz, czy w oknie Set Environment podana jest prawidłowa ścieżka dostępu do pliku tekstowego. Wybierz polecenie File/Publish Settings i wewnątrz zakładki Formats zaznacz opcję Generator Template. Pojawi się zakładka Generator, ale nic w niej nie zmieniaj. Kliknij przycisk OK. Zapisz projekt! Wybierz polecenie File/Publish Preview (klawisz F12) lub Control/Test Movie. Wszystko działa.
Ale dlaczego zadziałało, skoro nie użyłeś aplikacji Generator Server? Jak już wcześniej wspomnieliśmy, Flash w czasie publikacji do pliku .SWF filmu zawierającego obiekty i zmienne Generatora korzysta ze źródeł danych i wypełnia nimi szablon. Tym sposobem w pliku .SWF możesz zobaczyć wstawione informacje ze źródeł danych. Jednak nie daj się nabrać. Nie ma to nic wspólnego z dynamicznie tworzoną zawartością. Jeśli zmodyfikujesz plik .info.txt, będziesz musiał ponownie publikować plik .SWF, aby zmiany zostały wprowadzone w filmie.
Aby dynamicznie wypełniać pole tekstowe informacjami, musisz umieścić plik .SWT i info.txt (w takiej samej strukturze katalogów) na serwerze z uruchomionym Generatorem. W tym rozdziale dopiero rozpocząłeś przygodę z Generatorem. W następnym przedstawimy bardziej zaawansowane metody tworzenia dynamicznej zawartości za pomocą Generatora i Flasha.
Podsumowanie
Tworzenie zawartości witryny za pomocą Generatora jest procesem dwuczęściowym: najpierw opracowujesz we Flashu 5 szablon, wykorzystując rozszerzenie Generator Authoring Extension, a następnie, korzystając z aplikacji Generator Server uruchomionej na serwerze WWW, wypełniasz szablon danymi i wysyłasz go użytkownikowi.
Generator potrafi w filmie Flasha dynamicznie aktualizować obrazy, dźwięki, wykresy i listy. Generator potrafi także skonwertować film Flasha do statycznego obrazu .JPEG, .GIF, .PNG, animacji .GIF, mapy obrazu lub filmu QuickTime Flash.
Istnieją dwa wydania Generatora: Enterprise i Developer. Wydanie Enterprise zaprojektowano dla dużych witryn, które dostarczają personalizowaną zawartość milionom odwiedzających. Wydanie Developer w zasadzie potrafi to samo co wydanie Enterprise, ale dynamiczną zawartość tworzy znacznie wolniej.
Generator działa w dwóch trybach: online i offline. W trybie online Generator podczas każdego wywołania szablonu tworzy nowy plik .SWF na podstawie szablonu .SWT i źródła danych. W trybie offline co określony czas tworzy zaktualizowany plik .SWF i umieszcza go na serwerze WWW. Użytkownik korzysta ze statycznego pliku .SWF i nie ma wpływu na jego aktualizację.
Prosty plik tekstowy może być źródłem danych dla statycznego pola tekstowego Flasha. Nazwy zmiennych Generatora w polach tekstowych, panelu Generator i skryptach umieszczaj w nawiasach klamrowych ({}).
Nie dotyczy to wersji demonstracyjnej Flasha 5, której instalator nie zawiera rozszerzeń Generatora (przyp. tłum.).
2 Część I ♦ Podstawy obsługi systemu WhizBang (Nagłówek strony)
2 C:\helion\popf5b\r27-05.doc