Nazwa
- 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
W tym artykule wyjaśniono sposób tworzenia własnych składników dla zawartości HTML5 Canvas.
Program Animate jest dostarczany ze zbiorem składników domyślnych. Czasami w projekcie jest potrzebne coś więcej. W tym temacie przestawiono sposób tworzenia własnych składników HTML5 w programie Animate.
Definicja składnika składa się z trzech najważniejszych obszarów:
- Metadane: Informacje o składniku, takie jak nazwa wyświetlana, wersja, zbiór konfigurowalnych właściwości czy ikona. Znajdują się one w pliku o nazwie components.js. Składniki można grupować w kategoriach, a za pomocą tego pliku można podać metadane wszystkich składników należących do wskazanej kategorii.
- Źródło: Informacje na temat rzeczywistego źródła składników. Jest osadzany w środowisku wykonawczym w momencie podglądu lub publikacji filmu za pomocą składników.
- Zasoby: Informacje na temat zależności środowiska wykonawczego, takie jak biblioteka JavaScript, arkusz CSS lub zasoby i ikony środowiska wykonawczego. Zasobów można używać w środowisku projektowym programu Animate.
Definicja składnika obejmuje także zasoby powiązane z lokalizacją.
W momencie uruchomienia program Animate sprawdza poniższe foldery pod kątem obecności własnych składników HTML5 i wczytuje je przy uruchamianiu:
• Windows:
<AppData>/Local/Adobe/Adobe Animate 2017/en_US/Configuration/HTML5Components
• macOS:
~/Biblioteki/Application Support/Adobe/Animate 2017/en_US/Configuration/HTML5Components/
Powyższa ścieżka folderu dotyczy języka angielskiego (USA). Jeśli jest używana inna wersja językowa programu Animate, należy poszukać folderu odpowiadającego temu językowi (z innym oznaczeniem niż en_US).
Dla każdego folderu w danej lokalizacji zawierającego plik components.js program Animate tworzy oddzielną kategorię i wczytuje do niej wszystkie składniki.
Metadane składnika
Metadane składnika znajdują się w pliku components.js umieszczonym w oddzielnym folderze w katalogu HTML5Components.
Components.js
Components.js
to plik JSON z następującymi sekcjami:
- Category: Widoczna w panelu Składniki nazwa danego zestawu składników. Można ją przetłumaczyć.
- Components: Tablica, w której poszczególne pozycje zawierają metadane składnika. Powyższy przykład ma w tablicy tylko jeden element. Metadane zawierają następujące sekcje:
|
Czy wymagane |
Opis |
---|---|---|
ClassName |
Tak |
Nazwa klasy składnika podanego w pliku źródłowym. Nazwa klasy obsługuje jeden poziom przestrzeni nazw. Na przykład: Video.
|
Version |
Nie |
Numer wersji składnika. Używany w razie przyszłych uaktualnień składnika. Odpowiednia procedura nie jest tutaj definiowana. |
Source |
Tak |
Ścieżka względna do głównego pliku źródłowego składnika. Więcej informacji na temat zawartości tego elementu podano w następnej sekcji. |
Icon |
Nie |
Ścieżka względna do ikony składnika. Ikona (razem z nazwą składnika) jest używana w panelu składników oraz na stole montażowym po ustawieniu wystąpienia składnika. Przy braku informacji użyta zostanie ikona domyślna. Podaj nazwę pliku PNG z ikoną do wczytania (przeważnie w rozmiarze 32x32). Można także podać dwie różne ikony, do jasnego i ciemnego interfejsu użytkownika. Należy wówczas użyć nazw w następującym formacie: wlasna_ikona_N.png — ikona do ciemnego interfejsu użytkownika wlasna_ikona_D.png — ikona do jasnego interfejsu użytkownika W tym polu wystarczy wówczas wpisanie wartości „wlasna_ikona”. Przyrostki zostaną dopisane automatycznie odpowiednio do bieżących ustawień użytkownika. |
Dimensions |
Nie |
Domyślny rozmiar wystąpienia składnika. Za każdym razem, gdy użytkownik przeciąga składnik z panelu na stół montażowy, tworzone jest jego nowe wystąpienie. W tym polu można wpisać domyślny rozmiar początkowy wystąpienia składnika. Wartość należy podać w formie tablicy [szerokość, wysokość]. Jeśli nie zostanie podana żadna wartość, program Animate pobierze rozmiar domyślny. Dodatkowo program Animate ogranicza rozmiar do przedziału od [2,2] do [1000, 1000]. |
Dependencies |
Nie |
Zbiór zależności danego składnika. Jest to tablica, w której każda pozycja jest ścieżką względną do źródła lokalnego (klucz „src”) oraz ścieżką do systemu CDN (klucz „cdn”). Ścieżka do systemu CDN nie jest wymagana. Używa się jej po wpisaniu bibliotek na serwerach w ustawieniach publikowania. W przeciwnym razie przy podglądzie lub publikacji użyte zostanie źródło lokalne. W przykładzie powyżej należy zwrócić uwagę na ścieżkę względną (video). Elementy zależne są wczytywane z jednego poziomu wyżej, co pozwala na ich udostępnianie między różnymi zbiorami składników. |
Properties |
Tak |
Jest to tablica właściwości. Po utworzeniu wystąpienia danego składnika na stole montażowym w inspektorze Właściwości automatycznie pojawia się skonfigurowany w tym miejscu zestaw właściwości. Użytkownicy tego składnika mogą skonfigurować te właściwości w programie Animate. Spowoduje to ich udostępnienie dla tworzonego w środowisku wykonawczym wystąpienia składnika. Każda pozycja właściwości zawiera następujące klucze:
|
Źródło składnika
Każdy składnik powinien mieć powiązany plik źródłowy z kodem do obsługi: następujące czynności:
- tworzenia wystąpienia składnika w środowisku wykonawczym ze skonfigurowanym zestawem wartości właściwości,
- przyłączania się do modelu DOM i odłączania od niego,
- aktualizacji właściwości w każdej klatce.
Klasę bazową i funkcję narzędziową podano w pliku anwidget.js. Ułatwia on tworzenie własnych składników. Interfejs ten zostanie udoskonalony w przyszłości, ale z zachowaniem zgodności z wcześniejszymi wersjami. Obecnie obsługiwane są wyłącznie składniki oparte na modelu DOM. W przyszłości wprowadzona zostanie także obsługa składników opartych na standardzie Canvas. Obecnie obsługiwane są jedynie widżety. W przyszłości rozszerzymy platformę o możliwość przyłączania zachowań (składników spoza zakresu interfejsu użytkownika).
Plik anwidget.js znajduje się w folderze HTML5Components/sdk umieszczonym w folderze pierwszego uruchomienia. Podano w nim klasę bazową AnWidget dla własnych składników oraz metodę narzędziową $.anwidget(<className>, {Object Prototype}) do rejestracji własnych składników. W bieżącej implementacji użyto środowiska jQuery. Dlatego gdy używane są usługi oferowane przez widżet, środowisko jQuery jest zawsze dodawane jako zależność. Aby nie dodawać pośredniej zależności od środowiska jQuery, należy wdrożyć klasę Component bez środowiska jQuery. Zapewnia ona ten sam interfejs co klasa Widget.
Kod HTML zawiera domyślnie następujące sekcje (poza sekcją div modułu wczytywania wstępnego):
Na poprzedniej ilustracji wskazano kolejność dodawania elementów do modelu DOM. Element div dom_overlay_container przedstawiono nad elementem canvas.
Nie należy zmieniać identyfikatora elementu div dom_overlay_container. Tak jak w pierwszej wersji, istnieje szereg funkcji, które zależą od tego identyfikatora. Są to między innymi wycinki kodu.
Zgodnie z poprzednią ilustracją element div dom_overlay_container jest umieszczany jako nakładka nad elementem canvas. Aby upewnić się, że zdarzenia myszy są prawidłowo propagowane do bazowego elementu canvas, użyto w tym elemencie div właściwości CSS {pointer-events: none}. Wszystkie wystąpienia składnika, które skonfigurowano w projekcie w programie Animate, są tworzone i przyłączane jako element podrzędny tego elementu div dom_overlay_container. W środowisku wykonawczym względna kolejność wystąpień składnika jest kontrolowana, obecnie jednak wszystkie wystąpienia składnika są prezentowane jako nakładka. Ustawienie właściwości {pointer-events: all} we wszystkich wystąpieniach składnika w środowisku wykonawczym pozwala uzyskać także wykrywanie zdarzeń myszy.
Cykl życia składnika
-
Wystąpienie składnika jest tworzone w momencie budowania modelu DOM dla składnika.
-
Wystąpienie jest przyłączane do modelu DOM, gdy głowica odtwarzania osiąga klatkę, w której użyto tego wystąpienia. Następnie przyłączany jest mechanizm obsługi aktualizacji, który jest wywoływany w każdym cyklu pracy środowiska wykonawczego. W tym momencie składnik wywołuje także w elemencie nadrzędnym zdarzenie „attached” z następującymi danymi zdarzenia {id: identyfikator_wystąpienia}.
-
Właściwości są aktualizowane przy każdym wywołaniu zwrotnym aktualizacji. Wszystkie aktualizacje właściwości są buforowane i wprowadzane jednocześnie w ramach procedury obsługi cyklu. Animacje właściwości niestandardowych nie są obecnie obsługiwane. Aktualizacja obejmuje tylko podstawowe właściwości, takie jak przekształcenie czy widoczność.
-
Po osiągnięciu przez głowicę odtwarzania klatki, w której wystąpienie składnika jest usuwane, następuje jego odłączenie od modelu DOM. W elemencie nadrzędnym wywoływane jest zdarzenie detached.
Klasa bazowa ma nazwę $.AnWidget i oferuje następujące nadpisania:
Nazwa |
Czy obowiązkowe |
Opis |
---|---|---|
getCreateOptions() |
Nie |
Zwraca wszystkie opcje, które mają być stosowane w momencie tworzenia wystąpienia składnika. Typowe użycie zastąpienia służy do przypisania unikatowego identyfikatora do każdym wystąpieniu. Używa się w tym celu zmiennej globalnej _widgetID. Sposób użycia został wyjaśniony w następnej sekcji. |
getCreateString() |
Tak |
Zwraca ciąg tworzenia wystąpienia modelu DOM. Ciąg ten jest przekazywany do środowiska jQuery w celu utworzenia rzeczywistego elementu modelu DOM przyłączanego do bazowego modelu DOM.
Na przykład dla składnika obrazu zostanie zwrócony ciąg „<image>”.
Rzeczywisty element jest tworzony w środowisku wykonawczym. Odwołanie do mechanizmu opakowującego jQuery jest zapisywane w wystąpieniu składnika:
this._element = $(this.getCreateElement())
// this._element to mechanizm opakowujący jQuery dla utworzonego bazowego elementu modelu DOM.
Można także tworzyć elementy złożone. Szczegółowe informacje na ten temat zostaną podane w sekcji z przykładami. |
getProperties() |
Nie |
Zwraca tablicę z nazwami właściwości CSS, które można konfigurować. Przeważnie odpowiada to wszystkim właściwościom skonfigurowanym w pliku components.json.
Na przykład dla składnika wideo ta tablica zawiera następujące pozycje:
["left", "top", "width", "height", "position", "transform-origin", "transform"] |
getAttributes() |
Nie |
Zwraca tablicę atrybutów, które można skonfigurować. Przeważnie odpowiada to wszystkim atrybutom, które można skonfigurować w pliku components.json.
Na przykład dla składnika wideo ta tablica zawiera następujące pozycje:
["id", "src", "controls", "autoplay", "loop", "class"] |
attach(parent) |
Nie |
Ta funkcja jest wywoływana, kiedy wystąpienie składnika ma zostać przyłączone do nadrzędnego elementu modelu DOM.
Domyślna implementacja realizuje między innymi następujące operacje:
// Przyłącza element do nadrzędnego modelu DOM $(parent).append(this._element);
// Przechowuje odniesienie w zmiennej this._$this this._$this = $(this._element);
// Wywołuje wymuszoną aktualizację wszystkich właściwości this.update(true); this._attached = true;
// Wywołuje zdarzenie attached w elemencie nadrzędnym $(parent).trigger("attached", this.getEventData("attached"))
Nadpisanie tej funkcji nie jest konieczne. Jednak w elementach złożonych może to być niezbędne. Więcej informacji można znaleźć w sekcji z przykładami.
Uwaga: Za pomocą metody this._superApply(arguments) można wywołać dowolną metodę klasy bazowej z dowolnego kodu nadpisującego. |
detach() |
Nie |
Ta funkcja jest wywoływana za każdym razem, gdy z modelu DOM ma zostać usunięte wystąpienie składnika. Domyślna implementacja realizuje następujące operacje:
// Usuwa element z modelu DOM this._$this.remove(); // Wywołuje zdarzenie detached w elemencie nadrzędnym $(parent).trigger("detached", this.getEventData("detached")); |
setProperty(k,v) |
Nie |
Ta funkcja służy do ustawienia dowolnej właściwości wystąpienia. Zmiany są buforowane i stosowane jednocześnie w momencie wywołania funkcji update() względem każdej klatki i każdej nieskorygowanej właściwości. |
update(force) |
Nie |
Ta funkcja jest wywoływana w każdej klatce, gdy składnik jest elementem modelu DOM i jest widoczny. Domyślna implementacja wprowadza wszystkie właściwości i atrybuty CSS, jeśli zostały zmienione, lub jeśli parametr force ma wartość true. |
show() |
Nie |
Pokazuje wystąpienie elementu. Nie jest to przeważnie konieczne. Może być niezbędne w elementach złożonych. |
hide() |
Nie |
Ukrywa wystąpienie elementu. Nie jest to przeważnie konieczne. Może być niezbędne w elementach złożonych. |
getEventData(e) |
Nie |
Zwraca wszystkie dostosowane dane dla zdarzenia o nazwie „e”. Domyślna implementacja przesyła dane {id: identyfikator_wystąpienia} dla przyłączonych i odłączonych zdarzeń. |
destroy() |
Nie |
Zwalnia pamięć, gdy wystąpienie składnika zostaje odłączone od modelu DOM. Przeważnie nie trzeba zastępować tej funkcji. |
applyProperties(e) |
Nie |
Ta pomocnicza funkcja interfejsu API służy do wprowadzania właściwości CSS do mechanizmu opakowującego jQuery „e”. |
applyAttributes(e) |
Nie |
Ta pomocnicza funkcja interfejsu API służy do wprowadzania atrybutów do mechanizmu opakowującego jQuery „e”. |
Lokalizacja
Lokalizacji podlega ciąg kategorii, nazwa wyświetlana składnika oraz nazwa właściwości. Utwórz plik o nazwie strings.json w folderze o nazwie locale umieszczonym w folderze składników. Podaj pary klucz-wartość dla wszystkich ciągów, które mają zostać zlokalizowane, i użyj klucza w pliku components.js. W przypadku innych ustawień regionalnych należy podać potrzebne ciągi w odpowiednich folderach umieszczonych w folderze locale.
Pakowanie i rozpowszechnianie własnych składników HTML5
Programiści i projektanci korzystający z programu Animate mogą zapewnić twórcom animacji dostęp do składników bez konieczności pisania kodu, udostępniając gotowe, wstępnie spakowane składniki. Wcześniej twórcy animacji musieli dysponować wiedzą o strukturze plików i programowaniu oraz ręcznie przenosić pliki do odpowiednich folderów w celu uaktywnienia rozszerzeń HTML5.
Wymagania
- Dowolny składnik utworzony przez programistę. Kliknij tutaj, aby uzyskać instrukcje na temat tworzenia składników.
- Zestaw narzędzi do podpisywania rozszerzeń CC.
Przed spakowaniem składnika utwórz plik MXI z metadanymi — ścieżkami źródłową i docelową składnika. Przykład:
<file source="jquery-ui-1.12.0" destination="$FLASH\HTML5Components\jQueryUI\" file-type="ordinary" />
Tych informacji o plikach źródłowych i docelowych wymaga narzędzie do obsługi rozszerzeń, aby precyzyjnie zainstalować składnik.
Pakowanie składników
Aby spakować własny składnik HTML5, wykonaj następujące czynności:
-
Aby utworzyć plik MXI, wprowadź nazwę podobną do przykładowej abc.mxi w edytorze tekstu i zapisz plik z rozszerzeniem MXI.
Pobierz
-
Dodaj plik MXI składnika i inne skojarzone pliki do folderu.
-
Utwórz plik z rozszerzeniem ZXP, korzystając z narzędzia do podpisywania rozszerzeń CC (ZXPSignCmd.exe). Aby utworzyć plik ZXP, użyj następujących poleceń w narzędziu do tworzenia plików ZXP:
1. Utwórz certyfikat samopodpisany, korzystając z opcji -selfSignedCert.
Ten krok można pominąć, jeśli już istnieje certyfikat.
ZXPSignCmd -selfSignedCert US NY MyCompany MyCommonName password FileName.p12
W bieżącym folderze zostanie wygenerowany plik FileName.p12.
2. Podpisz rozszerzenie przy użyciu następującego polecenia:
ZXPSignCmd -sign projectName projectName.zxp FileName.p12 password
Fragment nazwaProjektu to nazwa projektu rozszerzenia. W bieżącym folderze zostanie utworzony plik nazwaProjektu.zxp.
Rozpowszechnianie składników
Spakowany plik składnika nazwaProjektu.zxp można rozpowszechnić u dowolnych użytkowników programu Animate.
Firma Adobe zaleca rozpowszechnianie produktów przy użyciu witryny dodatków firmy Adobe. Dodatki można rozpowszechniać publicznie (bezpłatnie lub płatnie) oraz prywatnie (bezpłatnie dla wskazanych użytkowników).
Instalowanie składników rozpowszechnionych
Projektanci i programiści korzystający z programu Animate mogą instalować rozpowszechniony składnik z pliku ZXP, korzystając z narzędzia Zarządzanie rozszerzeniami.