Podręcznik użytkownika Anuluj

Sprawdzone procedury — wskazówki dotyczące tworzenia zawartości dla urządzeń przenośnych

  1. Podręcznik użytkownika programu Adobe Animate
  2. Wprowadzenie do programu Animate
    1. Nowości w programie Animate
    2. Słownik wizualny
    3. Wymagania systemowe programu Animate
    4. Skróty klawiaturowe programu Animate
    5. Praca z wieloma typami plików w programie Animate
  3. Animacja
    1. Podstawowe informacje o animacjach w programie Animate
    2. Korzystanie z klatek i klatek kluczowych w programie Animate
    3. Animacja klatka po klatce w programie Animate
    4. Praca z animacjami klasycznymi w programie Animate
    5. Narzędzie Pędzel
    6. Linie pomocnicze ruchu
    7. Animacje ruchu a język ActionScript 3.0
    8. Informacje o animacji ruchu
    9. Animacje ruchu
    10. Tworzenie animacji ruchu
    11. Używanie klatek kluczowych właściwości
    12. Animowanie położenia za pomocą klatek pośrednich
    13. Edytowanie animacji ruchu za pomocą Edytora ruchu
    14. Edytowanie ścieżki ruchu animacji
    15. Operacje na animacjach ruchu
    16. Dodawanie własnych krzywych dynamiki
    17. Tworzenie i stosowanie ruchów predefiniowanych
    18. Konfigurowanie zakresów animacji
    19. Praca z animacjami ruchu zapisanymi jako pliki XML
    20. Porównanie animacji ruchu i animacji klasycznych
    21. Animowanie kształtów metodą klatek pośrednich
    22. Animacja oparta na narzędziu Kość w programie Animate
    23. Tworzenie konstrukcji postaci w programie Animate
    24. Używanie warstw maskujących w programie Adobe Animate
    25. Praca ze scenami w programie Animate
  4. Funkcje interaktywne
    1. Tworzenie przycisków w programie Animate
    2. Konwertowanie projektów programu Animate na dokumenty innych typów
    3. Tworzenie i publikowanie dokumentów HTML5 Canvas w programie Animate
    4. Programowanie elementów interaktywnych za pomocą wycinków kodu w programie Animate
    5. Tworzenie własnych składników HTML5
    6. Używanie składników w zawartości HTML5 Canvas
    7. Tworzenie własnych składników: przykłady
    8. Wycinki kodu dla składników dostosowanych
    9. Sprawdzone procedury — reklama oparta na programie Animate
    10. Tworzenie i publikowanie materiałów rzeczywistości wirtualnej
  5. Przestrzeń robocza i obieg pracy
    1. Tworzenie pędzli malarskich i zarządzanie nimi
    2. Używanie czcionek Google Fonts w dokumentach HTML5 Canvas
    3. Korzystanie z Bibliotek Creative Cloud w programie Adobe Animate
    4. Korzystanie ze stołu montażowego i panelu Narzędzia w programie Animate
    5. Obieg pracy i przestrzeń robocza w programie Animate
    6. Używanie czcionek internetowych w dokumentach HTML5 Canvas
    7. Osie czasu a język ActionScript
    8. Praca z wieloma osiami czasu
    9. Ustawianie preferencji
    10. Korzystanie z paneli narzędziowych programu Animate
    11. Tworzenie warstw na osi czasu w programie Animate
    12. Eksportowanie animacji do aplikacji mobilnych i platform gier
    13. Przesuwanie i kopiowanie obiektów
    14. Szablony
    15. Znajdowanie i zamienianie w programie Animate
    16. Cofanie, ponawianie i panel Historia
    17. Skróty klawiaturowe
    18. Korzystanie z osi czasu w programie Animate
    19. Tworzenie rozszerzeń HTML
    20. Opcje optymalizacji obrazów i animowanych plików GIF
    21. Eksportowanie ustawień obrazów oraz plików GIF
    22. Panel Zasoby w programie Animate
  6. Multimedia i wideo
    1. Przekształcanie i łączenie obiektów graficznych w programie Animate
    2. Tworzenie i obsługa wystąpień symboli w programie Animate
    3. Obrys obrazu
    4. Używanie dźwięku w programie Adobe Animate
    5. Eksportowanie plików SVG
    6. Tworzenie plików wideo do używania w programie Animate
    7. Dodawanie wideo w programie Animate
    8. Rysowanie i tworzenie obiektów w programie Animate
    9. Przekształcanie linii i kształtów
    10. Obrysy, wypełnienia, i gradienty w programie Animate CC
    11. Korzystanie z programów Adobe Premiere Pro i After Effects
    12. Panel Kolory w programie Animate CC
    13. Otwieranie plików programu Flash CS6 w programie Animate
    14. Praca z tekstem klasycznym w programie Animate
    15. Umieszczanie kompozycji w programie Animate
    16. Zaimportowane bitmapy w programie Animate
    17. Grafika 3D
    18. Praca z symbolami w programie Animate
    19. Rysowanie linii i kształtów przy użyciu programu Animate
    20. Praca z bibliotekami w programie Animate
    21. Eksportowanie dźwięków
    22. Zaznaczanie obiektów w programie Animate CC
    23. Praca z plikami AI programu Illustrator w programie Animate
    24. Stosowanie trybów mieszania
    25. Układanie obiektów
    26. Automatyzacja zadań za pomocą menu Polecenia
    27. Teksty wielojęzyczne
    28. Korzystanie z kamery w programie Animate
    29. Filtry graficzne
    30. Dźwięk a język ActionScript
    31. Preferencje rysowania
    32. Rysowanie za pomocą narzędzia Pióro
  7. Platformy
    1. Konwertowanie projektów programu Animate na dokumenty innych typów
    2. Obsługa platform niestandardowych
    3. Tworzenie i publikowanie dokumentów HTML5 Canvas w programie Animate
    4. Tworzenie i publikowanie dokumentów WebGL
    5. Pakowanie aplikacji na potrzeby środowiska AIR for iOS
    6. Publikowanie aplikacji dla środowiska AIR for Android
    7. Publikowanie dla środowiska AIR na komputery
    8. Ustawienia publikowania kodu ActionScript
    9. Sprawdzone procedury — porządkowanie kodu ActionScript w aplikacji
    10. Korzystanie z kodu ActionScript w programie Animate
    11. Ułatwienia dostępu w przestrzeni roboczej programu Animate
    12. Pisanie skryptów i zarządzanie nimi
    13. Włączanie obsługi platform niestandardowych
    14. Omówienie obsługi platform niestandardowych
    15. Praca z wtyczkami obsługi platform niestandardowych
    16. Debugowanie kodu ActionScript 3.0
    17. Włączanie obsługi platform niestandardowych
  8. Eksportowanie i publikowanie
    1. Eksportowanie plików z programu Animate CC
    2. Publikowanie plików OAM
    3. Eksportowanie plików SVG
    4. Eksportowanie grafiki i wideo w programie Animate
    5. Publikowanie dokumentów ActionScript 3.0
    6. Eksportowanie animacji do aplikacji mobilnych i platform gier
    7. Eksportowanie dźwięków
    8. Sprawdzone procedury — wskazówki dotyczące tworzenia zawartości dla urządzeń przenośnych
    9. Sprawdzone procedury — konwencje dotyczące wideo
    10. Sprawdzone procedury — wskazówki dotyczące tworzenia aplikacji SWF
    11. Sprawdzone procedury — określanie struktury pliku FLA
    12. Sprawdzone procedury optymalizowania plików FLA dla programu Animate
    13. Ustawienia publikowania kodu ActionScript
    14. Określanie ustawień publikowania w programie Animate
    15. Eksportowanie plików projektora
    16. Eksportowanie obrazów i animowanych plików GIF
    17. Szablony publikowania w formacie HTML
    18. Korzystanie z programów Adobe Premiere Pro i After Effects
    19. Szybkie udostępnianie i publikowanie animacji
  9. Rozwiązywanie problemów
    1. Rozwiązane problemy
    2. Znane problemy

 

Tworzenie w programie Animate zawartości przeznaczonej do użytku na urządzeniach przenośnych

Podczas tworzenia w programie Animate zawartości przeznaczonej dla urządzeń przenośnych należy przestrzegać kilku podstawowych zasad. Podczas pracy z programem Animate programiści często unikają zbyt złożonych kompozycji oraz nadmiernego generowania animacji i elementów przezroczystych.

Programiści pracujący z programem Flash Lite mają do czynienia z dodatkowym wyzwaniem, ponieważ efekty uzyskiwane na poszczególnych urządzeniach przenośnych mogą znacznie od siebie odbiegać. Jeżeli zawartość ma być publikowana na wielu urządzeniach przenośnych, projektanci muszą znaleźć wspólny mianownik.

Optymalizacja zawartości przeznaczonych dla urządzeń przenośnych wymaga dokonywania pewnych zmian. Na przykład, jedna technika może poprawić wygląd zawartości, a inna zwiększyć jej wydajność. Oceniając te zmiany, będziesz wielokrotnie przechodził między testowaniem w emulatorze, a testowaniem na urządzeniu docelowym. Musisz obejrzeć zawartość na rzeczywistym urządzeniu, aby ocenić wierność kolorów, czytelność tekstu, oddziaływania fizyczne, odpowiedzi UI oraz inne aspekty dotyczące prawdziwych urządzeń przenośnych.

 Treść dotycząca wtyczki Flash Lite nie ma zastosowania w przypadku wtyczki Flash CC lub nowszej.

Zasady animacji na urządzeniach przenośnych w programie Flash Lite

Tworząc zawartość animowaną przeznaczoną dla urządzeń przenośnych, pamiętaj o ograniczeniach CPU tych urządzeń. Stosowanie się do poniższych zasad pozwoli zagwarantować, że zawartość Flash Lite będzie działać bez opóźnień:

  • Podczas tworzenia nowego pliku w programie Flash Lite sprawdź, czy dokument jest poprawnie skonfigurowany. Chociaż pliki w programie Animate skalują się płynnie, wydajność może się pogorszyć, jeśli plik nie będzie uruchomiony w oryginalnym rozmiarze stołu montażowego i będzie skalowany w odtwarzaczu. Spróbuj ustawić rozmiar stołu montażowego dokumentu odpowiadający rozdzielczości urządzenia docelowego. Ustaw też odpowiednią wersję programu Flash Lite w programie Flash Player.

  • W programie Flash Lite można renderować grafikę wektorową w niskiej, średniej i wysokiej jakości. Im wyższa jest jakość renderowania, tym płynniejsze i dokładniejsze będzie odwzorowanie grafiki wektorowej w programie Flash Lite i tym większe są wymagania dotyczące procesora urządzenia. Aby uruchomić skomplikowaną animację, spróbuj zmieniać ustawienia jakości odtwarzacza i uważnie testuj plik SWF. Aby regulować jakość renderowania pliku SWF, użyj właściwości _quality lub polecenia SetQuality. Poprawnymi ustawieniami właściwości _quality są: NISKA, ŚREDNIA i WYSOKA.

  • Ogranicz liczbę jednoczesnych klatek pośrednich. Zmniejsz liczbę klatek pośrednich oraz ułóż kolejność animacji tak, aby następna zaczynała się po zakończeniu poprzedniej.

  • Rzadko używaj efektów przezroczystości (alfa) symboli, ponieważ efekty te obciążają CPU. W szczególności, unikaj tworzenia klatek pośrednich dla symboli częściowo przezroczystych (alfa mniejsze niż 100%).

  • Unikaj efektów wizualnych obciążających procesor, takich jak duże maski, ruch dużych obszarów, mieszanie alfa, duże gradienty i złożone układy wektorów.

  • Aby osiągnąć najlepszy wynik, wypróbuj różne ustawienia animacji opartych na klatkach pośrednich i kluczowych, a także ruchu sterowanego przez kod ActionScript.

  • Renderowanie wektorowych owali i okręgów bardziej obciąża pamięć niż renderowanie czworokątów. Używanie obrysów okrągłych i owalnych również znacznie zwiększa obciążenie CPU.

  • Często testuj animacje na rzeczywistych urządzeniach docelowych.

  • Gdy program Animate rysuje obszar animowany, określa prostokątną obwiednię wokół tego obszaru. Aby zoptymalizować rysowanie, postaraj się, aby ten prostokąt był jak najmniejszy. Unikaj nachodzących na siebie klatek pośrednich, ponieważ w programie Animate będą one traktowane jak jeden duży prostokąt. Aby zoptymalizować animację, skorzystaj z funkcji Pokaż odrysowane obszary programu Animate.

  • Unikaj ukrywania klipów filmowych na ekranie ustawiając _alfa = 0 lub _widoczny = fałsz. Jeśli po prostu wyłączysz widoczność klipu filmowego albo zmniejszysz jego przezroczystość alfa do zera, to klip nadal będzie uwzględniany w obliczeniach renderowania, co może wpływać na wydajność jego odtwarzania.

  • Podobnie, nie ukrywaj klipu filmowego zasłaniając go innym elementem kompozycji. Będzie on nadal uwzględniany w obliczeniach odtwarzacza. Lepiej przesuń klipy filmowe poza stół montażowy albo usuń je, wywołując funkcję removeMovieClip.

Grafika bitmapowa i wektorowa programu Flash Lite na urządzeniach przenośnych

Program Flash Lite może renderować zarówno grafikę wektorową, jak i bitmapową. Każdy typ grafiki ma swoje zalety i wady. Decyzja o użyciu grafiki wektorowej zamiast bitmapowej nie zawsze jest jasna i zwykle zależy od kilku czynników.

Grafika wektorowa jest zapisana w postaci równań matematycznych w niewielkich plikach SWF. Jest renderowana w trakcie odtwarzania przez odtwarzacz Flash Lite. Natomiast grafika bitmapowa jest przechowywana w postaci tablic elementów obrazu (pikseli), wymagających znacznie więcej danych. Dlatego stosowanie grafiki wektorowej powoduje zmniejszenie rozmiaru pliku oraz rozmiaru używanej pamięci.

Kształty w grafice wektorowej pozostają gładkie także po przeskalowaniu. Obrazy bitmapowe po przeskalowaniu mogą wyglądać jak zbudowane z kwadratów lub pikseli.

Grafika wektorowa, w porównaniu z bitmapową, wymaga do renderowania więcej mocy obliczeniowej, zwłaszcza jeśli zawiera dużo złożonych kształtów i wypełnień. Dlatego też stosowanie wielu kształtów wektorowych może czasem pogorszyć wydajność pliku. Grafika bitmapowa nie wymaga tak dużo czasu do renderowania jak grafika wektorowa, dlatego czasem jest efektywniejsza — na przykład w przypadku skomplikowanej mapy drogowej, animowanej i przewijanej na telefonie komórkowym.

Pamiętaj przy tym o następujących uwagach:

  • Unikaj używania konturów kształtów wektorowych. Kontury mają krawędź wewnętrzną i zewnętrzną (wypełnienia mają tylko jedną krawędź) a ich renderowanie jest podwójnie pracochłonne.

  • Łatwiej renderować narożniki niż krzywe. Kiedy jest to możliwe, stosuj płaskie krawędzie, zwłaszcza w przypadku bardzo małych kształtów wektorowych.

  • Optymalizacja jest przydatna, zwłaszcza w przypadku małych kształtów wektorowych, takich jak ikony. W trakcie renderowania skomplikowanych ikon mogą być utracone szczegóły i praca spędzona nad renderowaniem tych szczegółów będzie niepotrzebna.

  • Należy stosować bitmapy w przypadku małych, złożonych obrazów (takich jak ikony), a grafiki wektorowe w przypadku większych i prostszych obrazów.

  • Grafikę bitmapową należy importować w odpowiednim rozmiarze. Nie należy importować dużych obrazów w celu zmniejszenia ich później w programie Animate, ponieważ zwiększa to rozmiar pliku i wymaga więcej pamięci.

  • W odtwarzaczu Flash Lite nie jest obsługiwane wygładzanie grafiki bitmapowej. Grafika bitmapowa po przeskalowaniu lub obrocie wygląda topornie. Jeżeli grafika ma być skalowana lub obracana, lepiej używać grafiki wektorowej.

  • W zasadzie tekst jest bardzo złożonym kształtem wektorowym. Oczywiście, zwykle tekst jest bardzo ważny, więc nie można go całkiem pominąć. Gdy używasz tekstu, unikaj jego animacji oraz umieszczania go nad inną animacją. Zastanów się nad użyciem tekstu w postaci bitmapy. Pozycja łamania wiersza tekstu wielowierszowego dynamicznego i wprowadzanego nie jest buforowana. Program Animate łamie wiersze w trakcie odtwarzania i przelicza położenie końców wierszy za każdym razem, gdy pole tekstowe musi być odświeżone. Pola z tekstem statycznym nie powodują tylu problemów, ponieważ łamanie wierszy jest przeliczane w czasie kompilacji. W przypadku zawartości dynamicznej nie można uniknąć stosowania dynamicznych pól tekstowych, ale jeżeli jest to możliwe, przemyśl możliwość stosowania zamiast nich statycznych pól tekstowych.

  • Należy stosować jak najmniej efektów przezroczystości w plikach PNG. Program Animate musi przeliczać odświeżanie nawet przezroczystych fragmentów bitmapy. Jeśli na przykład chcesz uzyskać przezroczysty plik PNG reprezentujący element pierwszego planu, nie eksportuj przezroczystego pliku PNG w pełnym rozmiarze ekranu. Zamiast tego eksportuj plik w rzeczywistym rozmiarze elementu pierwszego planu.

  • Postaraj się zgrupować razem warstwy bitmapowe, a oddzielnie warstwy wektorowe. Program Animate stosuje inne renderowanie zawartość bitmapowej, a inne wektorowej. Przełączanie między mechanizmami renderowania jest czasochłonne.

Ustaw kompresję bitmap programu Flash Lite odpowiednią dla urządzeń przenośnych.

Stosując bitmapy, można ustawić opcje kompresji obrazu (dla każdego obrazu oddzielnie albo globalnie dla wszystkich obrazów bitmapowych) redukujące rozmiar pliku SWF.

Ustawianie opcji kompresji pojedynczego pliku bitmapowego

  1. Uruchom program Animate i utwórz dokument.

  2. Wybierz bitmapę w oknie Biblioteka.
  3. W oknie Biblioteka kliknij ikonę bitmapy prawym przyciskiem myszy (Windows) lub przytrzymując klawisz Control (macOS), następnie wybierz z menu kontekstowego polecenie Właściwości, aby otworzyć okno dialogowe Właściwości bitmapy.
  4. W menu wyskakującym Kompresja wybierz jedną z następujących opcji:
    • Wybierz opcję Fotograficzna (JPEG) dla obrazów zawierających wiele zmian kolorów albo tonów, takich jak fotografie czy obrazy z wypełnieniem gradientowym. Opcja ta powoduje utworzenie pliku JPEG. Zaznacz pole wyboru Użyj importowanych danych JPEG, aby zastosować do importowanego obrazu domyślną jakość kompresji. Aby określić inne ustawienia jakości kompresji, usuń zaznaczenie pola wyboru Użyj importowanych danych JPG i wpisz w polu tekstowym Jakość odpowiednią wartość między 1 a 100. Wpisanie większej wartości powoduje utworzenie obrazu lepszej jakości, ale również i większego pliku, wybierz więc tę wartość odpowiednio.

    • Wybierz opcję Bezstratna dla obrazów zawierających proste kształty i kilka kolorów. Opcja ta kompresuje obraz stosując kompresję bezstratną, nie usuwając żadnych danych.

  5. Kliknij przycisk Test, aby sprawdzić efekty kompresji pliku.

    Porównaj oryginalny rozmiar pliku z rozmiarem pliku skompresowanego i zdecyduj, czy wybrane ustawienia kompresji są odpowiednie.

Ustawianie opcji kompresji wszystkich obrazów bitmapowych

  1. Wybierz Plik > Ustawienia publikowania i kliknij zakładkę Flash, aby wyświetlić opcje kompresji.
  2. Ustaw suwak Jakość JPEG lub wpisz odpowiednią wartość. Większa wartość jakości JPEG powoduje utworzenie obrazu lepszej jakości, ale także większego pliku SWF. Gorsza jakość obrazu, powoduje utworzenie mniejszego pliku SWF. Wypróbuj różne ustawienia tej opcji, aby określić najlepszy kompromis pomiędzy wielkością pliku a jakością obrazu.

Optymalizacja klatek programu Flash Lite dla urządzeń przenośnych

  • Większość urządzeń obsługujących program Flash Lite odtwarza zawartość z szybkością około 15 do 20 klatek na sekundę (fps). Szybkość odtwarzania może być jednak niska, np. 6 fps. W trakcie projektowania, ustaw szybkość odtwarzania dokumentu na zbliżoną do szybkości odtwarzania urządzenia docelowego. Pokaże to, jak będzie działała zawartość w urządzeniu o ograniczonej wydajności. Przed publikacją ostatecznego pliku SWF, ustaw szybkość odtwarzania dokumentu na przynajmniej 20 fps lub większą, aby uniknąć ograniczenia wydajności, gdy urządzenie obsługuje większą szybkość odtwarzania.

  • Używając funkcji gotoAndPlay, należy pamiętać, że wszystkie klatki pomiędzy bieżącą a żądaną muszą zostać zainicjowane, zanim program Animate odtworzy żądaną klatkę. Jeżeli wiele z tych klatek zawiera różną zawartość, bardziej efektywne może być stosowanie różnych klipów filmowych zamiast korzystania z osi czasowej.

  • Chociaż wstępne wczytanie całej zawartości za pomocą umieszczenia jej na początku pliku jest wygodne przy odtwarzaniu na pulpicie, na urządzeniu przenośnym może to jednak opóźnić uruchomienie pliku. Rozmieść zawartość równomiernie w całym pliku, aby klipy filmowe były inicjowane w momencie użycia.

Optymalizacja zawartości ActionScript programu Flash Lite na urządzeniach przenośnych

Ze względu na ograniczenia pamięci i szybkości przetwarzania na większości urządzeń przenośnych, tworząc zawartość ActionScript for Flash Lite dla takich urządzeń warto stosować się do następujących wskazówek:

  • Utwórz plik i zawarty w nim kod tak prosty, jak tylko się da. Usuń nieużywane klipy filmowe, niepotrzebne pętle klatek i kodu, nie używaj zbyt wielu oraz unikaj niepotrzebnych klatek.

  • Stosowanie pętli FOR może być kosztowne ze względu na koszty wstępne, ponoszone przy sprawdzaniu warunku przy każdej iteracji. Gdy koszty iteracji są porównywalne z kosztami wstępnymi pętli, wykonaj kilka operacji pojedynczo zamiast używać pętli. Kod wtedy będzie dłuższy, ale poprawi się wydajność.

  • Pętle oparte na klatkach należy kończyć, gdy tylko nie są potrzebne.

  • Gdy jest to możliwe, nie należy przetwarzać ciągów i tablic, ponieważ może to obciążać procesor.

  • Należy używać właściwości bezpośrednio, zamiast korzystać z metod pobierających i ustawiających języka ActionScript, które wymagają więcej obliczeń niż inne wywołania metod.

  • Rozsądnie zarządzaj zdarzeniami. Zmniejsz tablice detektorów zdarzeń używając warunków sprawdzających czy detektor istnieje (nie jest null) przed jego wywołaniem. Usuń wszystkie aktywne przedziały wywołując clearInterval oraz usuń wszystkie aktywne detektory wywołując removeListener przed usunięciem zawartości za pomocą unloadapplication lub removeapplicationClip. Program Animate nie odzyskuje pamięci danych SWF (na przykład po przedziałach i detektorach), jeżeli jakieś funkcje ActionScript nadal odwołują się do tych danych SWF po wczytaniu klipu filmowego.

  • Gdy zmienne nie są już używane, usuń je albo nadaj im wartość null, co powoduje dołączenie ich do kolekcji zbędnych danych. Usuwanie zmiennych optymalizuje wykorzystanie pamięci w trakcie odtwarzania, ponieważ nieużywane zasoby są usuwane z pliku SWF. Lepiej jest usuwać zmienne niż nadawać im wartość null.

  • Usuń detektory z obiektów, wywołując metodę removeListener przed dołączeniem do kolekcji zbędnych danych.

  • Gdy funkcja jest wywoływana dynamicznie i przekazuje stały zestaw parametrów, należy stosować wywołanie call zamiast apply.

  • Twórz mniejsze przestrzenie nazw (takich jak ścieżki) aby przyspieszyć uruchamianie. Każdy poziom w pakiecie jest kompilowany do instrukcji IF i powoduje wywołanie utwórz Object , tak więc mniej poziomów w ścieżce oszczędza czas. Na przykład, ścieżka z poziomami com.xxx.yyy.aaa.bbb.ccc.functionName powoduje utworzenie instancji obiektu com.xxx.yyy.aaa.bbb.ccc. Niektórzy programiści używają oprogramowania preprocesora redukującego ścieżkę do pojedynczego identyfikatora, jak 58923409876.functionName, przed kompilacją kodu SWF.

  • Gdy plik składa się z wielu plików SWF korzystających z tych samych klas ActionScript, wyłącz te klasy z kompilacji w wybranych plikach SWF. Zmniejszy to czas pobierania pliku i rozmiar pamięci wymaganej przy odtwarzaniu.

  • Unikaj korzystania z funkcji Object.watch i Object.unwatch, ponieważ każda zmiana właściwości obiektu wymaga od odtwarzacza sprawdzenia, czy ma być wysłane powiadomienie o zmianie.

  • Jeśli czas wykonywania kodu ActionScript w klatce kluczowej jest dłuższy niż 1 sekunda, spróbuj podzielić ten kod tak, aby był wykonywany w wielu klatkach kluczowych.

  • Usuń instrukcje trace z kodu przed opublikowaniem pliku SWF. Aby to zrobić, wybierz pole wyboru Pomiń operacje śledzenia w zakładce Flash okna dialogowego Ustawienia publikowania.

  • Dziedziczenie zwiększa ilość wywołań metod i powoduje większe zużycie pamięci: klasa zawierająca całą wymaganą funkcjonalność jest bardziej efektywna przy odtwarzaniu niż klasa dziedzicząca część funkcjonalności po klasie nadrzędnej. Tak więc, projektując możesz wybierać pomiędzy rozszerzalnością klas a efektywnością kodu.

  • Gdy plik SWF wczytuje inny plik SWF, zawierający własną klasę ActionScript (na przykład, foo.bar.CustomClass), a następnie usuwa ten plik SWF, to definicja klasy pozostaje w pamięci. Aby odzyskać pamięć, usuń wszystkie klasy z usuniętych plików SWF. Stosuj instrukcję delete podając pełną złożoną nazwę klasy, np.: delete foo.bar.CustomClass.

  • Ogranicz stosowanie zmiennych globalnych, ponieważ nie są one dołączane do kolekcji zbędnych danych, gdy definiujący je plik jest usuwany.

  • Unikaj stosowania składników standardowego interfejsu użytkownika (dostępnego w panelu Składniki programu Flash). Składniki te są zaprojektowane do pracy na komputerach biurkowych a nie są zoptymalizowane do pracy na urządzeniach przenośnych.

  • Gdy jest to możliwe, unikaj głęboko zagnieżdżonych funkcji.

  • Unikaj odwoływania się do nieistniejących zmiennych, obiektów i funkcji. W porównaniu z wersją programu Flash Player na komputery stacjonarne, program Flash Lite 2 powoli wyszukuje odwołania do nieistniejących zmiennych, co może znacząco wpływać na wydajność.

  • Unikaj definiowania funkcji używając składni anonimowej. Na przykład, myObj.eventName = function{ ...}. Funkcje zdefiniowane jawnie są efektywniejsze, jak np. function myFunc { ...}; my Obj.eventName = myFunc;.

  • Używaj jak najmniej funkcji matematycznych oraz liczb zmiennoprzecinkowych. Obliczanie takich wartości pogarsza wydajność. Jeżeli musisz używać procedur matematycznych, zastanów się nad wcześniejszymi obliczeniami i przechowaniem ich wyników w tablicy zmiennych. Odczytywanie wartości z tablicy danych jest dużo szybsze niż obliczanie ich przez program Flash w trakcie odtwarzania.

Zarządzanie pamięcią pliku Flash Lite na urządzeniach przenośnych

Program Flash Lite często usuwa z pamięci wszystkie obiekty i zmienne, do których plik już się nie odwołuje. Nazywa się to usuwaniem kolekcji zbędnych danych. Program Flash Lite uruchamia proces usuwania kolekcji zbędnych danych co 60 sekund oraz wtedy, gdy pamięć pliku zwiększy się nagle o 20% lub więcej.

Chociaż programista nie ma wpływu na to, jak i kiedy program Flash Lite usunie kolekcję zbędnych danych, może samodzielnie zwalniać niepotrzebną już pamięć. Aby zwolnić pamięć używaną przez obiekty ActionScript, stosuj polecenie delete dla zmiennych osi czasu i zmiennych globalnych. W przypadku zmiennych lokalnych — na przykład zmiennej zdefiniowanej wewnątrz definicji funkcji — nie możesz używać polecenia delete, aby zwolnić pamięć obiektu, ale możesz nadać wartość null zmiennym odwołującym się do tego obiektu. Spowoduje to zwolnienie pamięci używanej przez obiekt pod warunkiem, że nie będzie innych odwołań do tego obiektu.

Poniższe dwa przykłady kodu pokazują, jak zwalniać pamięć zajmowaną przez obiekty za pomocą usunięcia zmiennej odwołującej się do tych obiektów. Przykłady te są prawie takie same, ale w pierwszym tworzona jest zmienna osi czasu, a w drugim tworzona jest zmienna globalna.

// Pierwszy przypadek: Zmienna jest dołączona do filmu lub 
// osi czasu klipu filmowego. 
// 
// Utwórz obiekt Date. 
var mcDateObject = new Date(); 
// Zwraca bieżącą datę jako ciąg. 
trace(mcDateObject); 
// Usuwa obiekt. 
delete mcDateObject; 
// Zwraca wartość niezdefiniowaną. 
trace(mcDateObject); 
// 
// Drugi przypadek: Zmienna globalna jest dołączona do filmu lub 
// osi czasu klipu filmowego. 
// 
// Utwórz obiekt Date. 
_global.gDateObject = new Date(); 
// Zwraca bieżącą datę jako ciąg. 
trace(_global.gDateObject); 
// Usuwa obiekt. 
delete _global.gDateObject; 
// Zwraca wartość niezdefiniowaną. 
trace(_global.gDateObject);

Jak wspomniano wcześniej, nie możesz użyć polecenia delete, aby zwolnić pamięć zajmowaną przez zmienną lokalną funkcji. Zamiast tego nadaj zmiennej wartość null, co działa tak samo jak użycie polecenia delete.

function func() 
{ 
    // Tworzy obiekt Date. 
    var funcDateObject = new Date(); 
    // Zwraca bieżącą datę jako ciąg. 
    trace(funcDateObject); 
    // Usunięcie nie ma żadnego skutku. 
    delete funcDateObject; 
    // Nadal zwraca bieżącą datę. 
    trace(funcDateObject); 
    // Ustawia odwołanie obiektu na null. 
    funcDateObject = null; 
    // Zwraca wartość null. 
    trace(funcDateObject); 
} 
// Wywołuje funkcję func(). 
func();

Wczytywanie danych w programie Flash Lite na urządzenia przenośne

Projektując pliki przeznaczone dla urządzeń przenośnych, ograniczaj ilość danych wczytywanych naraz. Podczas wczytywania danych zewnętrznych do pliku Flash Lite (na przykład za pomocą funkcji XML.load), system operacyjny urządzenia może wygenerować „błąd pamięci”, jeśli dla wczytywanych danych nie zostało przydzielone dość pamięci. Taka sytuacja może wystąpić nawet wtedy, gdy całkowita ilość pozostałej pamięci będzie dostateczna.

Załóżmy na przykład, że plik próbuje wczytać plik XML o rozmiarze 100 KB, ale system operacyjny urządzenia przydzielił tylko 30 KB do przetwarzania strumienia danych wejściowych. W takim przypadku program Flash Lite wyświetli komunikat o błędzie wskazujący na brak pamięci.

Aby wczytać duże ilości danych, pogrupuj dane w mniejsze fragmenty—na przykład, w kilka plików XML—i wykonaj kilka wczytań danych dla każdego fragmentu. Rozmiar każdego fragmentu danych, a więc i liczba wczytań danych, które musisz wykonać zależy od urządzenia i pliku. Aby określić właściwe proporcje pomiędzy liczbą wczytań danych i prawdopodobieństwem błędu pamięci, przetestuj pliki na różnych urządzeniach docelowych.

Aby zwiększyć wydajność, unikaj jeśli jest to możliwe wczytywania i parsowania plików XML. Lepiej zapisz dane w postaci prostych par nazwa/wartość i wczytaj dane z pliku tekstowego stosując polecenie loadVars lub ze skompilowanych wcześniej plików SWF.

Wyłączanie klas z kompilacji przez program Flash Lite

Aby zmniejszyć rozmiar pliku SWF, możliwe jest wyłączenie klas z kompilacji z pozostawieniem dostępu i możliwością sprawdzenia typu. Jest to przydatne na przykład podczas tworzenia pliku korzystającego z wielu plików SWF albo bibliotek współużytkowanych, zwłaszcza takich, które mają dostęp do tych samych klas. Wyłączanie klas pozwala uniknąć duplikowania klas w tych plikach.

  1. Tworzenie nowego pliku XML.
  2. Nazwij plik XML nazwa_pliku_FLA_exclude.xml, gdzie nazwa_pliku_FLA jest nazwą pliku FLA bez rozszerzenia FLA. Na przykład, gdy plikiem FLA jest sellStocks.fla, wtedy plikiem XML musi być sellStocks_exclude.xml.
  3. Zapisz plik w tym samym katalogu co plik FLA.
  4. Umieść następujące znaczniki w pliku XML:
    <excludeAssets> 
        <asset name=&quot;nazwaKlasy1&quot; /> 
        <asset name=&quot;nazwaKlasy2&quot; /> 
    </excludeAssets>

    Wartości określone w atrybutach nazw w znacznikach <asset> będą nazwami klas, które mają być wyłączone z pliku SWF. Dodaj ich tyle, ile jest potrzebne dla tego pliku. Na przykład, następujący plik XML wyłącza klasy mx.core.UIObject i mx.screens.Slide z pliku SWF:

    <excludeAssets> 
        <asset name=&quot;mx.core.UIObject&quot; /> 
        <asset name=&quot;mx.screens.Slide&quot; /> 
    </excludeAssets>

Pomoc dostępna szybciej i łatwiej

Nowy użytkownik?