- Podręcznik użytkownika programu Adobe Animate
- Wprowadzenie do programu Animate
- Animacja
- Podstawowe informacje o animacjach w programie Animate
- Korzystanie z klatek i klatek kluczowych w programie Animate
- Animacja klatka po klatce w programie Animate
- Praca z animacjami klasycznymi w programie Animate
- Narzędzie Pędzel
- Linie pomocnicze ruchu
- Animacje ruchu a język ActionScript 3.0
- Informacje o animacji ruchu
- Animacje ruchu
- Tworzenie animacji ruchu
- Używanie klatek kluczowych właściwości
- Animowanie położenia za pomocą klatek pośrednich
- Edytowanie animacji ruchu za pomocą Edytora ruchu
- Edytowanie ścieżki ruchu animacji
- Operacje na animacjach ruchu
- Dodawanie własnych krzywych dynamiki
- Tworzenie i stosowanie ruchów predefiniowanych
- Konfigurowanie zakresów animacji
- Praca z animacjami ruchu zapisanymi jako pliki XML
- Porównanie animacji ruchu i animacji klasycznych
- Animowanie kształtów metodą klatek pośrednich
- Animacja oparta na narzędziu Kość w programie Animate
- Tworzenie konstrukcji postaci w programie Animate
- Używanie warstw maskujących w programie Adobe Animate
- Praca ze scenami w programie Animate
- Funkcje interaktywne
- Tworzenie przycisków w programie Animate
- Konwertowanie projektów programu Animate na dokumenty innych typów
- Tworzenie i publikowanie dokumentów HTML5 Canvas w programie Animate
- Programowanie elementów interaktywnych za pomocą wycinków kodu w programie Animate
- Tworzenie własnych składników HTML5
- Używanie składników w zawartości HTML5 Canvas
- Tworzenie własnych składników: przykłady
- Wycinki kodu dla składników dostosowanych
- Sprawdzone procedury — reklama oparta na programie Animate
- Tworzenie i publikowanie materiałów rzeczywistości wirtualnej
- Przestrzeń robocza i obieg pracy
- Tworzenie pędzli malarskich i zarządzanie nimi
- Używanie czcionek Google Fonts w dokumentach HTML5 Canvas
- Korzystanie z Bibliotek Creative Cloud w programie Adobe Animate
- Korzystanie ze stołu montażowego i panelu Narzędzia w programie Animate
- Obieg pracy i przestrzeń robocza w programie Animate
- Używanie czcionek internetowych w dokumentach HTML5 Canvas
- Osie czasu a język ActionScript
- Praca z wieloma osiami czasu
- Ustawianie preferencji
- Korzystanie z paneli narzędziowych programu Animate
- Tworzenie warstw na osi czasu w programie Animate
- Eksportowanie animacji do aplikacji mobilnych i platform gier
- Przesuwanie i kopiowanie obiektów
- Szablony
- Znajdowanie i zamienianie w programie Animate
- Cofanie, ponawianie i panel Historia
- Skróty klawiaturowe
- Korzystanie z osi czasu w programie Animate
- Tworzenie rozszerzeń HTML
- Opcje optymalizacji obrazów i animowanych plików GIF
- Eksportowanie ustawień obrazów oraz plików GIF
- Panel Zasoby w programie Animate
- Multimedia i wideo
- Przekształcanie i łączenie obiektów graficznych w programie Animate
- Tworzenie i obsługa wystąpień symboli w programie Animate
- Obrys obrazu
- Używanie dźwięku w programie Adobe Animate
- Eksportowanie plików SVG
- Tworzenie plików wideo do używania w programie Animate
- Dodawanie wideo w programie Animate
- Rysowanie i tworzenie obiektów w programie Animate
- Przekształcanie linii i kształtów
- Obrysy, wypełnienia, i gradienty w programie Animate CC
- Korzystanie z programów Adobe Premiere Pro i After Effects
- Panel Kolory w programie Animate CC
- Otwieranie plików programu Flash CS6 w programie Animate
- Praca z tekstem klasycznym w programie Animate
- Umieszczanie kompozycji w programie Animate
- Zaimportowane bitmapy w programie Animate
- Grafika 3D
- Praca z symbolami w programie Animate
- Rysowanie linii i kształtów przy użyciu programu Animate
- Praca z bibliotekami w programie Animate
- Eksportowanie dźwięków
- Zaznaczanie obiektów w programie Animate CC
- Praca z plikami AI programu Illustrator w programie Animate
- Stosowanie trybów mieszania
- Układanie obiektów
- Automatyzacja zadań za pomocą menu Polecenia
- Teksty wielojęzyczne
- Korzystanie z kamery w programie Animate
- Filtry graficzne
- Dźwięk a język ActionScript
- Preferencje rysowania
- Rysowanie za pomocą narzędzia Pióro
- Platformy
- Konwertowanie projektów programu Animate na dokumenty innych typów
- Obsługa platform niestandardowych
- Tworzenie i publikowanie dokumentów HTML5 Canvas w programie Animate
- Tworzenie i publikowanie dokumentów WebGL
- Pakowanie aplikacji na potrzeby środowiska AIR for iOS
- Publikowanie aplikacji dla środowiska AIR for Android
- Publikowanie dla środowiska AIR na komputery
- Ustawienia publikowania kodu ActionScript
- Sprawdzone procedury — porządkowanie kodu ActionScript w aplikacji
- Korzystanie z kodu ActionScript w programie Animate
- Ułatwienia dostępu w przestrzeni roboczej programu Animate
- Pisanie skryptów i zarządzanie nimi
- Włączanie obsługi platform niestandardowych
- Omówienie obsługi platform niestandardowych
- Praca z wtyczkami obsługi platform niestandardowych
- Debugowanie kodu ActionScript 3.0
- Włączanie obsługi platform niestandardowych
- Eksportowanie i publikowanie
- Eksportowanie plików z programu Animate CC
- Publikowanie plików OAM
- Eksportowanie plików SVG
- Eksportowanie grafiki i wideo w programie Animate
- Publikowanie dokumentów ActionScript 3.0
- Eksportowanie animacji do aplikacji mobilnych i platform gier
- Eksportowanie dźwięków
- Sprawdzone procedury — wskazówki dotyczące tworzenia zawartości dla urządzeń przenośnych
- Sprawdzone procedury — konwencje dotyczące wideo
- Sprawdzone procedury — wskazówki dotyczące tworzenia aplikacji SWF
- Sprawdzone procedury — określanie struktury pliku FLA
- Sprawdzone procedury optymalizowania plików FLA dla programu Animate
- Ustawienia publikowania kodu ActionScript
- Określanie ustawień publikowania w programie Animate
- Eksportowanie plików projektora
- Eksportowanie obrazów i animowanych plików GIF
- Szablony publikowania w formacie HTML
- Korzystanie z programów Adobe Premiere Pro i After Effects
- Szybkie udostępnianie i publikowanie animacji
- Rozwiązywanie problemów
Optymalizacja dokumentów programu Animate
Pliki o dużych rozmiarach są wolniej pobierane i wolniej odtwarzane. Projektant ma kilka możliwości przygotowania dokumentu do właściwego odtwarzania. Niektóre czynności przygotowawcze (optymalizacyjne) są wykonywane automatycznie przez program Animate w procesie publikowania dokumentu. Przed wyeksportowaniem pliku można wykonać inne jeszcze czynności optymalizacyjne. Przed opublikowaniem plik SWF można także skompresować. Po wprowadzeniu jakichkolwiek zmian należy przetestować dokument na różnych komputerach, w różnych systemach operacyjnych i przy różnych połączeniach z Internetem.
Optymalizacja dokumentów
Wszelkie elementy (animowane lub inne), które pojawiają się w pliku wielokrotnie, należy definiować za pomocą symboli.
Wszędzie, gdzie jest to możliwe, należy tworzyć animacje oparte na klatkach pośrednich. Takie animacje zajmują mniej miejsca niż sekwencje klatek kluczowych.
W animacjach należy stosować klipy filmowe, a nie symbole graficzne.
W każdej klatce kluczowej należy maksymalnie ograniczyć obszar podlegający zmianom.
Nie należy animować elementów bitmap; obrazy bitmapowe powinny służyć jako tło lub elementy statyczne.
Wszędzie, gdzie jest to możliwe, dźwięk należy zapisywać w oszczędnym formacie mp3.
Optymalizacja elementów i linii
Elementy należy grupować.
Za pomocą warstw należy oddzielić zmienne elementy animacji od elementów statycznych.
Za pomocą polecenia Modyfikuj > Kształt > Optymalizuj należy zminimalizować liczbę linii definiujących kształty.
Należy ograniczyć liczbę linii specjalnego typu, np. przerywanych, kropkowanych i postrzępionych. Linie ciągłe zajmują najmniej pamięci. Linie utworzone za pomocą narzędzia Ołówek wymagają mniej pamięci niż pociągnięcia pędzlem.
Optymalizacja tekstu i czcionek
Należy ograniczyć liczbę czcionek i stylów czcionek. Nie należy używać zbyt wielu czcionek osadzonych, ponieważ zwiększają one rozmiar pliku.
W ramach opcji Osadź czcionki należy zaznaczyć tylko wybrane znaki, a nie całą czcionkę.
Optymalizacja kolorów
Zaleca się tworzenie wielu wystąpień tego samego symbolu i przypisywanie im różnych kolorów. Służy do tego menu Kolor w oknie Właściwości symbolu.
Za pomocą panelu Kolor (Okno > Kolor) należy dopasować paletę kolorów dokumentu do palety kolorów przeglądarki.
Należy ograniczyć stosowanie gradientów. Wypełnienie obszaru gradientem wymaga o 50 bajtów więcej niż wypełnienie go zwykłym kolorem.
Należy ograniczyć efekty przezroczystości alfa, ponieważ spowalniają one odtwarzanie.
Przyspieszanie odtwarzania dokumentu
Aby przyspieszyć wyświetlanie dokumentu, należy skorzystać z poleceń menu Widok i wyłączyć funkcje renderowania (wizualizacji), które wymagają dodatkowych obliczeń.
Żadne z tych poleceń nie ma wpływu na to, jak program Animate eksportuje dokument. Określenie jakości wyświetlania dokumentów z programu Animate w przeglądarce umożliwiają parametry object i embed. Podczas publikowania dokumentu (za pomocą polecenia Publikuj) jakość jest wybierana automatycznie.
-
Wybierz polecenie Widok > Tryb podglądu i ustaw następujące opcje:
Kontury
Są wyświetlane tylko kontury kształtów i cienkie linie (niezależnie od oryginalnej grubości linii). Dzięki temu zawartość pliku pojawia się szybciej i łatwiej jest zmieniać kształty elementów graficznych.
Szybko
Pozwala wyłączyć wygładzanie i wyświetlić wszystkie kolory oraz style linii.
Wygładzanie
Pozwala włączyć wygładzanie linii, kształtów i bitmap, dzięki czemu obraz ma lepszą jakość. Rysowanie przebiega wolniej niż w przypadku zaznaczenia opcji Szybko. Wygładzanie działa najlepiej, gdy komputer jest wyposażony w kartę graficzną zapewniającą tysiące (karta 16‑bitowa) lub miliony (karta 24‑bitowa) kolorów. W trybie 16 lub 256 kolorów czarne linie są wygładzane. Kolory mogą wyglądać lepiej w trybie szybkiego wyświetlania.
Wygładzanie tekstu
Pozwala wygładzić krawędzie tekstu. Ta funkcja działa najlepiej w przypadku dużych czcionek. Może działać wolno w przypadku dużej ilości tekstu. Zwykle ta funkcja jest włączona.
Pełny
Na stole montażowym jest wizualizowana cała zawartość pliku. Może to spowolnić wyświetlanie.
Optymalizacja grafiki i animacji
Przed przejściem do etapu optymalizacji animacji i grafiki, należy wyraźnie sprecyzować swoje oczekiwania. Przede wszystkim należy określić planowany rozmiar pliku i pożądaną długość animacji. Należy też wypróbować różne ustawienia.
Optymalizując grafikę i animację, należy przestrzegać następujących zasad:
Nie należy używać gradientów. Wymagają one dużej liczby kolorów i obliczeń, a to obciąża pamięć i procesor komputera.
Z tego samego powodu należy ograniczyć stosowanie przezroczystości i efektów alfa.
Animacje obiektów o elementach przezroczystych mocno obciążają procesor i powinny zostać ograniczone do minimum. Szczególnie wymagające pod tym względem są animacje przezroczystych bitmap — należy je ograniczyć do absolutnego minimum lub w ogóle wyeliminować.
Najlepszy format importowania obrazów bitmapowych do programu Animate to PNG — format natywny programu Macromedia Fireworks firmy Adobe. W plikach PNG do opisu poszczególnych pikseli są dołączane dane RGB i dane alfa. Dzięki importowaniu obiektów graficznych z programu Fireworks do programu Animate w formacie PNG istnieje możliwość ich edycji w pliku FLA.
Bitmapy powinny być optymalizowane bez stosowania zbyt dużego współczynnika kompresji. Dla potrzeb Internetu wystarczająca rozdzielczość to 72 dpi. Skompresowanie obrazu zmniejsza początkowy rozmiar pliku, ale zbyt duża intensywność kompresji pogarsza jakość obrazu. Należy sprawdzić, czy ustawienia jakości JPEG z okna dialogowego Ustawienia publikowania nie określają zbyt dużej intensywności kompresji. W większości wypadków zaleca się stosowanie wektorowej reprezentacji grafiki. Zapis wektorowy pozwala uzyskać mniejszy plik, ponieważ przy jego użyciu są opisywane nie piksele obrazów, lecz ich kształty. Inna metoda zmniejszenia rozmiaru pliku to ograniczenie liczby kolorów.
Należy unikać powiększania oryginalnych wymiarów bitmap, ponieważ taka operacja obniża jakość obrazu i nadmiernie obciąża procesor.
Właściwość _visible należy ustawić jako false; nie należy natomiast zmieniać poziomu _alpha (na 0 lub 1) w pliku SWF. Obliczanie poziomu _alpha obiektów na stole montażowym mocno obciąża procesor komputera. Jeśli obiekt uczyni się niewidocznym, procesor i pamięć komputera będą mniej obciążone, co zwiększy płynność animacji. Zamiast wyładowywać i ponownie załadowywać zasoby, lepiej jest ustawić właściwość _visible jako false i zapewnić w ten sposób mniejsze obciążenie procesora.
Należy zmniejszyć liczbę linii i punktów zdefiniowanych w pliku SWF. Okno dialogowe Optymalizacja krzywych (Modyfikuj > Kształt > Optymalizuj) pozwala zmniejszyć liczbę wektorów definiujących kształty. Wyższy stopień optymalizacji zapewnia opcja Użyj wielu przejść. Zoptymalizowanie grafiki zmniejsza początkowy rozmiar pliku, ale zbyt duża intensywność kompresji pogarsza jakość obrazu. Zoptymalizowanie krzywych zmniejsza rozmiar pliku oraz zwiększa efektywność pliku SWF. Optymalizację krzywych i punktów zapewniają również pewne zewnętrzne narzędzia, które jednak działają bardzo różnie.
W celu uzyskania najlepszego efektu należy wypróbować różne narzędzia tego typu.
Wybierając wyższe płynności odtwarzania animacji (mierzone w liczbie klatek na sekundę, czyli w jednostkach kl./s), uzyskuje się bardziej płynne animacje, ale oznacza to dodatkowe obciążenie procesora komputera. Należy wypróbować różne płynności odtwarzania i wybrać ustawienie optymalne.
Przykład animacji ze skryptem znajduje się na stronie internetowej przykładów programu Animate pod adresem www.adobe.com/go/learn_fl_samples_pl. Należy pobrać i wyodrębnić plik zip Samples i przejść do folderu ActionScript2.0/Animation, aby otworzyć plik przykładu.
Płynność odtwarzania a wydajność animacji
Wprowadzane do aplikacji animacje mogą różnić się płynnością odtwarzania. Płynność odtwarzania może mieć wpływ na wydajność pliku SWF oraz ogólną wydajność komputera. Wybór zbyt dużej płynności odtwarzania może prowadzić do różnych problemów — zwłaszcza wtedy, gdy używa się wielu zasobów lub animacje są opisane za pomocą kodu ActionScript.
Płynność odtwarzania nie może jednak być za niska, ponieważ znika wtedy wrażenie płynności animacji. Przykład: Wybranie wartości 12 kl./s (za pomocą inspektora Właściwości) powoduje, że w ciągu każdej sekundy program odtwarza 12 klatek animacji. W przypadku płynności 24 kl./s animacja wydaje się bardziej płynna niż przy płynności 12 kl./s. Animacja mająca 24 kl./s jest jednak odtwarzana szybciej, co powoduje, że trwa krócej (zajmuje mniejszą liczbę sekund). Aby animacja o wyższej płynności odtwarzania miała określony czas trwania (powiedzmy 5 sekund), musi zawierać więcej klatek niż animacja o niższej płynności odtwarzania — co zwiększa rozmiar pliku animacji. Animacja 5-sekundowa o płynności 24 kl./s zajmuje zwykle więcej miejsca niż animacja 5-sekundowa o płynności 12 kl./s.
Jeśli podczas tworzenia animacji opartych na skryptach jest używane zdarzenie onEnterFrame, animacje są odtwarzane z płynnością określoną w dokumencie. (Przypomina to generowanie klatek pośrednich na osi czasu). Zamiast zdarzenia onEnterFrame można użyć zdarzenia setInterval (więcej informacji w podręczniku Dokumentacja języka ActionScript 2.0). W tym wypadku zamiast stałej płynności odtwarzania obowiązuje stały interwał wywoływania funkcji. Podobnie jak w przypadku zdarzenia onEnterFrame, im częściej zdarzeniu setInterval będzie towarzyszyło wywoływanie funkcji, tym więcej zasobów komputera będzie wymagała animacja.
Należy używać najmniejszej możliwej płynności odtwarzania, która powala zachować wrażenie płynności animacji. Dzięki temu komputery użytkowników nie będą nadmiernie obciążone. Wysokie płynności odtwarzania (większe niż 30 lub 40 kl./s) bardzo mocno obciążają procesor, nie powodują natomiast zauważalnych zmian wyglądu animacji.
Wyboru płynności odtwarzania animacji należy dokonać na jak najwcześniejszym etapie projektowania. Podczas testowania plików SWF należy sprawdzać uważnie czasy trwania animacji i wielkość ich plików. Płynność odtwarzania ma największy wpływ na prędkość animacji.
Filtry i wydajność pliku SWF
Jeśli aplikacja zawiera zbyt wiele filtrów, zwiększa się jej zapotrzebowanie na pamięć, co istotnie pogarsza wydajność wtyczki Flash Player. Ponieważ klip filmowy z dołączonymi filtrami zawiera dwie 32-bitowe bitmapy, aplikacja zawierająca takie klipy także używa dużo pamięci. Jeśli aplikacja ma wymienione wyżej własności, system operacyjny komputera może wygenerować błąd braku pamięci. Na nowoczesnych komputerach błędy braku pamięci są raczej rzadkie. Mogą jednak wystąpić, jeśli aplikacja zawiera wiele efektów opartych na filtrach (np. na stole montażowym znajdują się tysiące bitmap).
Błędom braku pamięci mogą towarzyszyć następujące objawy:
Tablica filtrów jest pomijana.
Klip filmowy jest wizualizowany na podstawie reprezentacji wektorowej.
Nie są buforowane żadne bitmapy klipu filmowego.
Po wystąpieniu błędu braku pamięci klip filmowy nigdy nie odwołuje się do tablicy filtrów ani do bufora bitmap. Inny czynnik, który może mieć wpływ na wydajność odtwarzacza, to wartości parametrów jakości poszczególnych filtrów. Przy wyższych wartościach tych parametrów, aplikacja wykazuje wyższe zapotrzebowanie na pamięć i czas procesora; przy niższych wartościach aplikacja potrzebuje mniej zasobów. Dlatego też, należy ograniczyć liczbę filtrów i w miarę możliwości używać jak najmniejszego ustawienia jakości.
Jeśli obiekt o wymiarach 100 na 100 pikseli zostanie powiększony raz, czyli uzyska wymiary 200 na 200 pikseli, będzie zajmował czterokrotnie więcej pamięci niż pierwotnie. Jeśli zostanie powiększony jeszcze dwa razy, czyli uzyska wymiary 800 na 800 piksel, jego zapotrzebowanie na pamięć wzrośnie aż 64-krotnie (w stosunku do pierwotne obiektu o wymiarach 100 na 100 pikseli). Dlatego też, jeśli w pliku SWF są używane filtry, należy wyłączyć w menu kontekstowym pliku SWF opcje powiększania.
Częstą przyczyną błędów są nieprawidłowe typy parametrów. Niektóre parametry filtrów mają też pewien dozwolony zakres. Jeśli zostanie wybrana wartość spoza tego zakresu, program zmienia ją na wartość prawidłową. Na przykład, wartość parametru jakości, która w przypadku standardowych operacji należy do zakresu od 1 do 3, ma dozwolony zakres od 1 do 15. Wszelkie wartości wyższe od 15 są zamieniane na wartość 15.
W przypadku niektórych konstruktorów obowiązują ograniczenia co do długości tablic będących parametrami wejściowymi. Jeśli na przykład przy tworzeniu filtra splotu lub filtra macierzy kolorów zostanie podana nieprawidłowa tablica (o nieprawidłowym rozmiarze), konstruktor zwróci błąd i filtr nie zostanie utworzony. Jeśli następnie filtr zostanie użyty jako jedna z pozycji tablicy filtrów klipu filmowego, zostanie zignorowany.
Wskazówka: W przypadku filtra rozmywającego parametry blurX i blurY (rozmycieX i rozmycieY) warto ustawić na potęgi dwójki (to znaczy 2, 4, 8, 16 i 32), ponieważ takie wartości są przetwarzane szybciej i zapewniają wzrost wydajności programu o 20–30%.
Buforowanie bitmap i wydajność pliku SWF
Buforowanie bitmap pozwala zwiększyć wydajność statycznych (czyli nie zmieniających się) klipów filmowych. Jeśli właściwość MovieClip.cacheAsBitmap lub Button.cacheAsBitmap ma wartość true, wtyczka Flash Player buforuje wewnętrzną reprezentację bitmapy klipu filmowego lub przycisku. Dzięki temu można uzyskać większą wydajność klipów filmowych ze złożonymi obiektami wektorowymi. Wszelkie dane wektorowe klipu filmowego, który zawiera buforowaną bitmapę, są wizualizowane w ramach bitmapy, a nie na głównym stole montażowym.
Bitmapa jest kopiowana na główny stół montażowy w postaci nierozciągniętych i nieobróconych pikseli, które są przyciągane do najbliższych pikseli. Piksele są kojarzone z obiektem nadrzędnym zgodnie z zasadą jeden-na-jeden. Jeśli granice bitmapy ulegną zmianie, bitmapa zostanie utworzona ponownie, a nie rozciągnięta.
Szczegółowe informacje dotyczące buforowania wystąpień przycisku lub klipów filmowych znajdziesz w następujących artykułach:
Informacje o buforowaniu i przewijaniu klipów filmowych w kodzie ActionScript zawiera dokumentacja Nauka języka ActionScript 2.0
Informacje o buforowaniu klipów filmowych zawiera dokumentacja Nauka języka ActionScript 2.0
Właściwość cacheAsBitmap powinna być stosowana do takich klipów filmowych, które nie są zbyt często obracane ani skalowane, a zawierają raczej elementy statyczne. Gdy klipy takie zmieniają położenie, właściwość cacheAsBitmap zapewnia lepszą wydajność programu (chodzi o zmiany współrzędnych x i y).
Po włączeniu funkcji buforowania klipu filmowego powstaje powierzchnia, która daje szereg korzyści, np. umożliwia szybszą wizualizację skomplikowanych animacji wektorowych. W niektórych sytuacjach jednak włączenie buforowania nie zwiększa wydajności programu, lecz nawet ją obniża.
Całkowita wydajność buforowania danych zależy od takich czynników jak złożoność danych wektorowych obiektów, intensywność zmian danych oraz ustawienie właściwości opaqueBackground. Jeśli zmiany dotyczą niewielkich obszarów, różnica między stosowaniem powierzchni i danych wektorowych jest minimalna. Przed udostępnieniem aplikacji użytkownikom należy przetestować obydwa scenariusze.
Kiedy należy używać buforowania bitmap?
Poniżej wymieniono typowe okoliczności, w których funkcja buforowania bitmap może przynieść zauważalne korzyści.
Złożony obraz tła
Tło aplikacji stanowi złożony i pełen detali obraz opisany wektorowo. Aby zwiększyć wydajność programu, należy zaznaczyć zawartość okna, zapisać ją w postaci klipu filmowego i przypisać właściwości opaqueBackground wartość true. Tło zostanie przekonwertowane na bitmapę, dzięki czemu będzie można je szybko odświeżać. W ten sposób animacja będzie szybciej odtwarzana.
Przewijanie pola tekstowego
Aplikacja zawiera przewijalne pole tekstowe z dużą ilością tekstu. Pole tekstowe należy umieścić w klipie filmowym, który będzie można przewijać w określonych granicach (właściwość scrollRect) dzięki włączeniu szybkiego przewijania pikseli. Kiedy użytkownik będzie przewijał klip filmowy, przewijane piksele będą generowane w nowym obszarze; program nie będzie natomiast ponownie generował całego pola tekstowego.
System obsługi okien
Aplikacja daje możliwość wyświetlania wielu, zachodzących na siebie okien. Każde z okien można zamknąć lub otworzyć (np. mogą to być okna przeglądarki). Jeśli poszczególne okna zostaną wyróżnione jak powierzchnie (właściwość cacheAsBitmap ma wartość true), będą one od siebie niezależne i będą buforowane. Użytkownicy będą mogli przeciągać okna, również nakładać je na siebie, przy czym nie będzie konieczności ponownego generowania wektorowej zawartości okien.
Kiedy należy unikać buforowania bitmap?
Niepoprawne stosowanie funkcji buforowania bitmap może mieć negatywny wpływ na plik SWF. Przygotowując plik FLA z powierzchniami, należy przestrzegać następujących zasad:
Nie należy używać zbyt wielu powierzchni (klipów filmowych z aktywną funkcją buforowania). Każda z powierzchni używa więcej pamięci niż zwykły klip filmowy; powierzchnie należy uaktywniać tylko w razie potrzeby.
Buforowana bitmapa może używać o wiele więcej pamięci niż zwykły klip filmowy. Jeśli na przykład klip filmowy na stole montażowym ma wymiary 250 na 250 pikseli, jego wersja buforowana może zająć 250 KB, podczas gdy zwykły klip filmowy zajmuje tylko 1 KB.
Należy unikać powiększania elementów na buforowanych powierzchniach. Zbyt intensywne stosowanie funkcji buforowania bitmap przyczynia się do dużego użycia pamięci (zobacz poprzedni punkt), zwłaszcza w przypadku powiększania obiektów.
Powierzchnie powinny być stosowane raczej w przypadku statycznych klipów filmowych (nie animowanych). Wystąpienie może być przeciągane lub przesuwane, ale jego zawartość nie powinna w zbyt dużym stopniu się zmieniać. Jeśli na przykład wystąpienie zostanie obrócone lub przekształcone, niektóre dane powierzchni staną się danymi wektorowymi, co będzie miało negatywny wpływ na wydajność pliku SWF.
Przemieszanie danych powierzchni z danymi wektorowymi powoduje, że wtyczka Flash Player (a czasami i inne programy na komputerze) musi wykonywać zbyt wiele obliczeń. Dlatego zaleca się grupowanie powierzchni — np. wtedy, gdy aplikacje muszą obsługiwać wiele okien.
Praca ze składnikami we wtyczce Flash Player
Składniki dodaje się do aplikacji w celu zaimplementowania pewnych dodatkowych funkcji. Po dodaniu składników plik aplikacji staje się większy. Składniki dziedziczą swoje właściwości. Dodanie do dokumentu programu Animate pierwszego składnika zwiększa rozmiar dokumentu, ale dodawanie kolejnych — opartych na tej samej platformie — nie musi mieć tego skutku. Zwykle dzieje się tak, że pierwszych kilka składników powoduje powiększanie się pliku, ale począwszy od pewnego momentu, kiedy nie są już potrzebne nowe klasy (bo nowe składniki odwołują się do już dodanych klas), plik nie powiększa się.
Należy pamiętać jednak, że jeśli składniki nie korzystają z tej samej infrastruktury, mogą powodować bardzo intensywne powiększanie się pliku SWF. Na przykład, składnik XMLConnector zajmuje 17K (plik SWF powiększa się o 17K), a składniki typu TextInput zajmują 24K. Jeśli jednak do dokumentu zostanie dodany składnik ComboBox, nie wykorzystujący tej samej infrastruktury co poprzednie składniki, dokument powiększy się o 28K. Ponieważ składnik XMLConnector używa wiązania danych, do pliku SWF zostanie dodane dodatkowe 6KB. Dokument, do którego zostaną dołączone wszystkie wymienione składniki, powiększy się zatem o 77K. Reasumując więc: przy dodawaniu składników do pliku SWF należy na bieżąco kontrolować jego rozmiar.
Składniki muszą znajdować się w głównej bibliotece pliku SWF. W głównej bibliotece aplikacji muszą być przechowywane nawet te składniki, które są wymagane przez podrzędne pliki SWF, wczytywane w czasie wykonywania aplikacji. Przed udostępnieniem aplikacji należy sprawdzić, czy dodane do niej składniki działają poprawnie. Składniki wydłużają czas wczytywania głównego pliku SWF. Należy pamiętać też, że główna biblioteka nie jest dziedziczona ani współużytkowana przez podrzędne pliki SWF, wczytywane do głównego pliku. Każdy podrzędny plik SWF musi zostać wczytany ze swoją własną kopią tych samych składników.
Jeśli publikowany plik SWF ma być zgodny ze starszymi wersjami programu, należy używać tylko takich składników, które zapewnią pożądany stopień zgodności. Poniższa tabela zawiera informacje o dostępności składników w różnych wersjach wtyczki Flash Player:
Składniki |
Flash Player 6 (6.0.65.0) i starsze wersje |
Flash Player 6 (6.0.65.0) |
Flash Player 7 i 8 |
Flash Player 9 |
ActionScript 3.0 |
Nie obsługiwany |
Nie obsługiwany |
Nieobsługiwany |
Obsługiwany |
ActionScript 2.0 |
Obsługiwany |
Obsługiwany |
Obsługiwany |
Obsługiwany |
Zestaw składników interfejsu V2 UI |
Nieobsługiwany |
Obsługiwany |
Obsługiwany |
Obsługiwany |
Składniki multimedialne |
Nie obsługiwany |
Nieobsługiwany |
Obsługiwany |
Obsługiwany |
Składniki danych |
Nie obsługiwany |
Nieobsługiwany |
Obsługiwany |
Obsługiwany |
Aby składniki interfejsu w wersji 2 działały, w ustawieniach publikowania nie należy zaznaczać opcji Optymalizacja dla programu Flash Player 6r65.
Optymalizacja stylów i wydajności składników
Gdy jest używany język ActionScript 2.0, jednym z wywołań najbardziej obciążających procesor komputera jest wywołanie metody setStyle. Wynika to ze sposobu implementacji metody setStyle. Metoda setStyle nie zawsze jest używana, ale jeśli jest już używana, należy mieć na uwadze jej wpływ na wydajność.
Aby uniknąć nadmiernego obciążenia procesora, wszelkie style można zmodyfikować przed ich wczytaniem i zastosowaniem do obiektów w pliku SWF. W takiej sytuacji nie trzeba będzie wywoływać metody setStyle.
Aby zmaksymalizować wydajność obsługi stylów, właściwości poszczególnych obiektów należy ustawiać wtedy, gdy są one wywoływane. Gdy obiekty są dynamicznie wywoływanie i umieszczane na stole montażowym, należy ustawić właściwości klasy initObj. Trzeba w tym celu wywołać metodę createClassObject(), np. tak jak w poniższym kodzie ActionScript:
createClassObject(ComponentClass, "mojeWystąpienie", 0, {styleName:"mójStyl", color:0x99CCFF});
W przypadku obiektów umieszczanych bezpośrednio na stole montażowym można użyć metody onClipEvent() albo skorzystać z podklas (strategia zalecana). Informacje na temat podklas zawiera sekcja Informacje o pisaniu podklas w dokumentacji Nauka języka ActionScript 2.0.
Jeśli zachodzi potrzeba zmiany stylu składników, najlepsza metoda polega na wykorzystaniu składnika Loader. Jeśli zachodzi potrzeba zaimplementowania wielu stylów w różnych składnikach, każdy składnik należy umieścić w osobnym pliku SWF. Zmiana stylów w obrębie składnika Loader i ponowne wczytanie pliku SWF spowoduje ponowne utworzenie składników w pliku SWF. Po ponownym utworzeniu składnika zostanie opróżniony bufor stylów, a styl składnika zostanie zresetowany i ponownie wywołany.
Aby zastosować jeden styl do wszystkich wystąpień składnika w pliku SWF, należy przeprowadzić globalną zmianę stylu za pomocą metody _global.styles.ComponentName.
Korzystanie z udostępnianych bibliotek czasu wykonywania
Chcąc skrócić czas wczytywania aplikacji, można skorzystać z udostępnianych bibliotek czasu wykonywania. Zwykle biblioteki takie są potrzebne w przypadku dużych aplikacji lub w sytuacjach, gdy wiele aplikacji z tej samej witryny używa tych samych składników lub symboli. Dzięki umieszczeniu wspólnych zasobów plików SWF w lokalizacji zewnętrznej nie trzeba wciąż na nowo wczytywać tych samych klas. Pierwszy z plików SWF odwołujących się do biblioteki udostępnionej jest wczytywany dłużej niż inne, ponieważ jest konieczne wczytanie zarówno pliku, jak i biblioteki. Biblioteka zostaje zapisana w buforze na komputerze użytkownika i wszystkie kolejne pliki SWF mogą się do niej odwoływać. Rozwiązanie takie pozwala istotnie skrócić czas wczytywania złożonych aplikacji.
Wyświetlanie znaków specjalnych
Systemy operacyjne komputerów odwołują się zawsze do konkretnej strony kodowej związanej z danym regionem. Na przykład komputer działający w Japonii korzysta z innej strony kodowej niż komputer w Anglii. Wtyczka Flash Player 5 lub starsza wyświetla tekst na podstawie strony kodowej; natomiast wtyczka Flash Player 6 lub nowsza wyświetla tekst zgodnie ze standardem Unicode. Ponieważ zestaw znaków Unicode obejmuje znaki ze wszystkich języków, wykorzystujące go systemy są bardziej uniwersalne niż systemy odwołujące się do strony kodowej. Większość nowszych aplikacji korzysta ze standardu Unicode.
We wtyczce Flash Player 6 lub nowszej można wyświetlać znaki specjalne przy użyciu specjalnych sekwencji tymczasowej zmiany kodowania na Unicode. Jeśli jednak zostaną użyte niepoprawne sekwencje Unicode albo wczytany tekst nie będzie zakodowany w formacie UTF-8 lub UTF-16 (Unicode), niektóre znaki specjalne będą wyświetlane nieprawidłowo. Zestaw kodów standardu Unicode można znaleźć w witrynie internetowej Unicode.org. Listę najczęściej używanych sekwencji Unicode zamieszczono w dalszej części niniejszego rozdziału.
W aplikacjach, które nie obsługują standardu Unicode, znaki są wyświetlane na podstawie strony kodowej systemu operacyjnego. W ich wypadku wyświetlane znaki zależą od używanej strony kodowej, dlatego są wyświetlane poprawnie, o ile strona kodowa systemu operacyjnego jest zgodna ze stroną kodową aplikacji. Strona kodowa, z użyciem której utworzono plik SWF, powinna być zgodna ze stroną kodową na komputerze użytkownika. Korzystanie ze stron kodowych nie ma sensu, jeśli tworzone aplikacje będą użytkowane w różnych krajach. W takich wypadkach należy korzystać ze standardu Unicode.
Zastosowanie właściwości System.useCodepage sprawia, że w pliku SWF będzie używana strona kodowa systemu, a nie system znaków Unicode.
Właściwości tej należy używać tylko wtedy, gdy do aplikacji jest wczytywany tekst niezgodny ze standardem Unicode, a ponadto tekst ten zakodowano przy użyciu takiej samej strony kodowej jak strona stosowana na komputerze użytkownika. Jeśli są spełnione obydwa warunki, tekst jest wyświetlany bez żadnych problemów. Jeśli obydwa warunki nie są spełnione, należy użyć standardu Unicode i sformatować tekst za pomocą skrótów Unicode z klawiszem Esc. Oto przykład kodu ActionScript 2.0 z sekwencją Unicode w klatce 1 osi czasu:
this.createTextField("mójTekst_txt", 99, 10, 10, 200, 25); mójTekst_txt.text = "To jest mój tekst: \u00A9 2004";
Powyższy kod ActionScript powoduje utworzenie pola tekstowego i wstawienie w tym polu symbolu praw autorskich (©).
Za pomocą właściwości useCodepage można sprawić, aby w pliku SWF była używana strona kodowa systemu operacyjnego. Kiedy program Animate eksportuje plik SWF, domyślnie jest używane kodowanie Unicode, a właściwość System.useCodepage ma wartość false. Jeśli występują problemy z poprawnym wyświetlaniem znaków specjalnych lub wyświetlaniem tekstu w innych językach, czasami problemom tym można zaradzić poprzez odwołanie się do strony kodowej systemu. Należy pamiętać jednak, że użycie właściwości System.useCodePage stanowi wyjście ostateczne.
Aby była używana strona kodowa systemu, w 1. klatce na osi czasu należy umieścić następujący wiersz kodu ActionScript 2.0:
System.useCodepage = true; << need an AS3 example here as well. See dev/qa. >>
Dany znak specjalny jest wyświetlany pod warunkiem, że na komputerze użytkownika jest używana czcionka obejmująca ten znak. Jeśli nie ma co do tego pewności, odpowiedni znak lub jego czcionkę należy osadzić w pliku SWF.
W poniższej tabeli wymieniono najczęściej używane sekwencje Unicode.
Opis znaku |
Sekwencja Unicode |
---|---|
pauza (—) |
\u2014 |
zarejestrowany znak handlowy (®) |
\u00AE |
znak praw autorskich (©) |
\u00A9 |
znak handlowy (™) |
\u2122 |
Znak euro (€) |
\u20AC |
odwrócony ukośnik (\) |
\u005C |
zwykły ukośnik (/) |
\u002F |
otwierający nawias klamrowy ({) |
\u007B |
zamykający nawias klamrowy (}) |
\u007D |
większe niż (<) |
\u003C |
mniejsze niż (>) |
\u003E |
gwiazdka (*) |
\u002A |
Sprawdzanie szybkości pobierania dokumentów
Wtyczka Flash Player zawsze usiłuje dopasować aktualną płynność odtwarzania klatek do płynności określonej w aplikacji. Mimo to na różnych komputerach mogą być uzyskiwane różne płynności. Jeśli podczas wczytywania dokumentu program napotyka klatkę, która wymaga wczytania dodatkowych danych, wczytywanie zostaje wstrzymane aż do momentu nadejścia danych.
Za pomocą programu profilującego przepustowość można oglądać postępy wczytywania w postaci graficznej. Program pokazuje ilości danych wczytane dla poszczególnych klatek animacji.
(Tylko Animate) Moduł profilujący przepustowość łącza nie jest dostępny w programie Animate. Zamiast tego można używać z programem Animate narzędzia Adobe Scout. Więcej informacji znajdziesz w artykule Korzystanie z programu Adobe Scout z programem Animate.
Przy symulowaniu szybkości wczytywania danych program Animate odwołuje się do typowej szybkości łączy internetowych, a nie do faktycznej szybkości modemu. Jeśli na przykład wybrano opcję symulacji modemu o szybkości 28,8 Kb/s, program Animate ustawia szybkość na 2,3 Kb/s (co odpowiada rzeczywistej szybkości pobierania danych z Internetu). Program profilujący uwzględnia również ewentualną kompresję pliku SWF, która prowadzi do mniejszych plików i lepszej wydajności wczytywania strumieniowego.
Jeśli zewnętrzne pliki SWF, pliki GIF, pliki XML i zmienne są przesyłane do odtwarzacza strumieniowo, za pośrednictwem metod loadMovie i getUrl, dane są wczytywane z szybkością określoną dla wczytywania strumieniowego. Szybkość wczytywania strumieniowego głównego pliku SWF może zostać zmniejszona wskutek dodatkowych żądań danych, które zmniejszają przepustowość łącza. Dokument należy przetestować przy różnych szybkościach i na różnych komputerach, tak aby mieć pewność, że łącza i komputery potencjonalnych odbiorców dokumentu nie zostaną przeciążone.
Program pozwala też wygenerować raport dotyczący klatek, które spowalniają odtwarzanie, a następnie zoptymalizować lub skasować część zawartości tych klatek.
Aby zmienić ustawienia pliku SWF utworzonego za pomocą poleceń Testuj film lub Testuj scenę, należy użyć polecenia Plik > Ustawienia publikowania.
Sprawdzanie szybkości wczytywania
-
Wykonaj jedną z następujących czynności:
Wybierz opcję Sterowanie > Testuj scenę lub Sterowanie > Testuj.
W wyniku uaktywnienia funkcji testowania sceny lub testowania dokumentu program Animate publikuje bieżące zaznaczenie w postaci pliku SWF, stosując ustawienia określone w oknie dialogowym Ustawienia publikowania. Plik SWF jest otwierany w nowym oknie i natychmiast zaczyna być odtwarzany.
Wybierz polecenie Plik > Otwórz i zaznacz plik SWF.
-
Wybierz polecenie Widok > Ustawienia pobierania, po czym wybierz szybkość pobierania, którą ma symulować program Animate. Aby określić niestandardowe ustawienia, wybierz opcję Dostosuj.
-
Podczas przeglądania pliku SWF wybierz polecenie Widok > Program profilujący przepustowość, aby wyświetlić wykres wydajności wczytywania danych.
W lewej części okna programu są widoczne informacje o dokumencie: jego ustawienia, jego stan oraz dane o strumieniach (o ile dokument zawiera strumienie).
W prawej części okna jest widoczny nagłówek osi czasu i wykres. Poszczególne paski na wykresie odpowiadają pojedynczym klatkom dokumentu. Rozmiar paska odpowiada rozmiarowi klatki (w bajtach). Czerwona linia pod nagłówkiem osi czasu wskazuje, czy dana klatka jest wczytywana w czasie rzeczywistym, z szybkością równą bieżącemu ustawieniu szybkości modemu w menu Kontrola. Jeśli pasek wykracza poza czerwoną linię, oznacza to, że dokument musi czekać na wczytanie klatki.
(Tylko Animate CC) Moduł profilujący przepustowość łącza nie jest dostępny w programie Animate CC. Zamiast tego można używać z programem Animate narzędzia Adobe Scout. Więcej informacji znajdziesz w artykule Korzystanie z programu Adobe Scout z programem Animate.
-
Wybierz polecenie Widok > Symuluj pobieranie, aby włączyć lub wyłączyć wczytywanie strumieniowe.
Jeśli ta funkcja zostanie wyłączona, dokument będzie wczytywany od początku, bez symulowania połączenia internetowego.
Uwaga: (Tylko Animate) Funkcja symulacji pobierania nie jest dostępna w programie Animate.
-
Kliknij pasek na wykresie, aby wyświetlić w lewej części okna ustawienia odpowiadającej mu klatki i zatrzymać dokument.
-
Jeśli zachodzi taka potrzeba, dostosuj wygląd wykresu, wykonując jedną z następujących czynności:
Wybierz polecenie Widok > Wykres strumieniowania, aby stwierdzić, które klatki powodują przerwy.
W widoku domyślnym poszczególne klatki są reprezentowane przez jasnoszare i ciemnoszare bloki. Wielkość bloku odpowiada rozmiarowi klatki (w bajtach). Pierwsza klatka mieści w sobie zawartość symbolu, jest więc większa od innych klatek.
Wybierz polecenie Widok > Wykres klatka po klatce, aby obejrzeć wielkości poszczególnych klatek.
W tym widoku można stwierdzić, które klatki powodują opóźnienia wczytywania danych. Jeśli jakaś klatka wykracza poza czerwoną linię na wykresie, oznacza to, że wtyczka Flash Player musi zatrzymać odtwarzanie do momentu wczytania całej klatki.
-
Zamknij okno testowe, aby powrócić do środowiska projektowania.
Po skonfigurowaniu środowiska testowego za pomocą programu profilującego przepustowość każdy z plików SWF można będzie otworzyć bezpośrednio w środowisku testowym. Plik zostanie otwarty w oknie wtyczki Flash Player. Będą obowiązywały opcje programu profilującego przepustowość i inne zaznaczone opcje.
(Tylko Animate) Moduł profilujący przepustowość łącza nie jest dostępny w programie Animate. Zamiast tego można używać z programem Animate narzędzia Adobe Scout. Więcej informacji znajdziesz w artykule Korzystanie z programu Adobe Scout z programem Animate.
Generowanie raportu końcowego
-
Wybierz polecenie Plik > Ustawienia publikowania i kliknij zakładkę Animate.
-
Wybierz opcję Generuj raport rozmiaru.
-
Kliknij przycisk Publikuj.
Program Animate wygeneruje plik tekstowy z rozszerzeniem TXT. (Jeśli na przykład dokument ma nazwę mójFilm.fla, plik tekstowy będzie miał nazwę mójFilm — raport.txt). W raporcie będą podane rozmiary wszystkich klatek, kształtów, obiektów tekstowych, plików dźwiękowych, plików wideo i skryptów ActionScript.