W niektórych przypadkach plik SWF może działać samodzielnie (np. jeśli zostanie użyty program Adobe® Flash® Professional, aby utworzyć projektor SWF), ale w większości sytuacji aplikacja SWF działa jako element wewnątrz innej aplikacji. Często kontenerem, który zawiera plik SWF jest plik HTML; rzadziej plik SWF jest wykorzystywany dla całości lub części interfejsu użytkownika aplikacji pulpitu.
Podczas pracy z bardziej zaawansowanymi aplikacjami może się okazać, że konieczne jest skonfigurowanie komunikacji między plikiem SWF a aplikacją kontenera. Na przykład: strona sieci Web może wyświetlać tekst lub inne informacje w HTML, jak również zawierać plik SWF w celu wyświetlania dynamicznych treści, takich jak wykres lub wideo. W takim przypadku możliwa jest taka konfiguracja, w której kliknięcie przycisku na stronie sieci Web powoduje zmianę w pliku SWF. Język ActionScript zawiera mechanizm, znany jako zewnętrzny interfejs API, który ułatwia ten typ komunikacji między ActionScript w pliku SWF a innym kodem w aplikacji kontenera.
Ważne pojęcia i terminy
Na poniższej liście objaśniono ważne terminy istotne w kontekście tego zagadnienia:
-
Aplikacja kontenera
-
Aplikacja, w której program Flash Player uruchamia plik SWF, na przykład przeglądarka internetowa i strona HTML z zawartością programu Flash Player lub aplikacja AIR ładująca plik SWF na stronie internetowej.
-
Projektor
-
Plik wykonywalny, który zawiera treść SWF i osadzoną wersję odtwarzacza Flash Player. Plik projektora można utworzyć za pomocą programu Flash Professional lub autonomicznego programu Flash Player. Projektory są często wykorzystywane do dystrybucji plików SWF na płytach CD-ROM lub w innych sytuacjach, w których ilość pobieranych danych nie ma znaczenia, a autor SWF chce upewnić się, że użytkownik będzie miał możliwość uruchomienia pliku SWF bez względu na to, jaka wersja programu Flash Player jest zainstalowana na komputerze użytkownika.
-
Proxy
-
Aplikacja pośrednia lub kod pośredni, który wywołuje kod w jednej aplikacji („aplikacji zewnętrznej”) w imieniu innej aplikacji („aplikacji wywołującej”), a następnie zwraca wartości do aplikacji wywołującej. Proxy może być używane z różnych przyczyn, między innymi:
-
W celu uproszczenia procesu tworzenia zewnętrznych wywołań funkcji poprzez przekształcanie rodzimych wywołań funkcji w aplikacji wywołującej na format zrozumiały przez aplikację zewnętrzną.
-
W celu obejścia zabezpieczeń lub innych ograniczeń, które uniemożliwiają obiektowi wywołującemu komunikację bezpośrednio z aplikacją zewnętrzną.
-
Serializacja
-
Przekształcanie obiektów lub wartości danych na format, który może być używany w celu przekazywania wartości w komunikatach między dwoma systemami programowania, np. przez Internet lub między dwiema różnymi aplikacjami działającymi na jednym komputerze.
Korzystanie z przykładów
Wiele fragmentów kodu zostało zamieszczonych w celach prezentacyjnych i nie należy ich traktować jako pełnych działających przykładów lub kodu, który sprawdza wartości. Korzystanie z zewnętrznego interfejsu API wymaga (z definicji) pisania kodu ActionScript, a także kodu w aplikacji kontenera, dlatego testowanie przykładów będzie wymagało utworzenia kontenera (np. strony sieci Web zawierającej plik SWF), a także użycia fragmentów kodu w celu oddziaływania na kontener.
W celu testowania przykładu w komunikacji między ActionScript i JavaScript:
-
Utwórz nowy dokument, korzystając z programu Flash Professional, a następnie zapisz go na komputerze.
-
Z głównego menu wybierz opcje Plik > Ustawienia publikowania.
-
W oknie dialogowym Ustawienia publikowania, na karcie Formaty, upewnij się, że zaznaczone są pola wyboru Flash i HTML.
-
Kliknij przycisk Publikuj. Wykonanie tych czynności spowoduje wygenerowanie pliku SWF i pliku HTML w tym samym folderze oraz o takiej samej nazwie, która była używana w celu zapisania dokumentu. Kliknij przycisk OK, aby zamknąć okno dialogowe Ustawienia publikowania.
-
Usuń zaznaczenie pola wyboru HTML. Po wygenerowaniu strony HTML można ją zmodyfikować w celu dodania odpowiedniego kodu JavaScript. Usunięcie zaznaczenia pola wyboru HTML zapewnia, że po zmodyfikowaniu strony HTML program Flash nie zastąpi zmian nowym plikiem HTML podczas publikowania pliku SWF.
-
Kliknij przycisk OK, aby zamknąć okno dialogowe Ustawienia publikowania.
-
W aplikacji do edycji HTML lub w edytorze tekstu otwórz plik HTML, który został utworzony przez program Flash podczas publikowania pliku SWF. Do kodu źródłowego HTML dodaj znaczniki otwierające i zamykające
script
, a następnie między te znaczniki kod JavaScript z przykładowego fragmentu kodu:
<script>
// add the sample JavaScript code here
</script>
-
Zapisz plik HTML i wróć do programu Flash.
-
Wybierz klatkę kluczową w klatce nr 1 na osi czasu, a następnie otwórz panel Operacje.
-
Skopiuj fragment kodu ActionScript do panelu Skrypt.
-
W menu głównym wybierz opcje Plik > Publikuj w celu zaktualizowania pliku SWF z uwzględnieniem wprowadzonych zmian.
-
W przeglądarce sieci Web otwórz edytowaną stronę HTML, aby ją wyświetlić i przetestować komunikację między kodem ActionScript a stroną HTML.
Aby przetestować przykład kontenera komunikacji ActionScript z ActiveX:
-
Utwórz nowy dokument, korzystając z programu Flash Professional, a następnie zapisz go na komputerze. Plik można zapisać w folderze, w którym aplikacja kontenera znajdzie plik SWF.
-
Z menu głównego wybierz opcję Plik > Ustawienia publikowania.
-
W oknie dialogowym Ustawienia publikowania, na karcie Formaty, upewnij się, że zaznaczone jest tylko pole wyboru Flash.
-
W polu Plik obok pola wyboru Flash kliknij ikonę folder, aby wybrać folder, do którego zostanie opublikowany plik SWF. Wybierając lokalizację dla pliku SWF można (na przykład) zachować dokument w jednym folderze, a publikowany plik SWF umieścić w innym folderze, np. w folderze zawierającym kod źródłowy dla aplikacji kontenera.
-
Wybierz klatkę kluczową w klatce nr 1 na osi czasu, a następnie otwórz panel Operacje.
-
Skopiuj przykładowy kod ActionScript do panelu Skrypt.
-
W menu głównym wybierz opcje Plik > Publikuj, aby ponownie opublikować plik.
-
Utwórz i uruchom aplikację kontenera, aby przetestować komunikacje między kodem ActionScript a aplikacją kontenera.
Kompletne przykłady komunikacji ze stroną HTML za pomocą zewnętrznego interfejsu API zawiera następujący temat:
Te przykłady zawierają pełny kod łącznie z ActionScript oraz kodem sprawdzania błędów kontenera, który powinien być używany podczas pisania kodu z użyciem zewnętrznego interfejsu API. Inny pełny przykład wykorzystania zewnętrznego interfejsu API zawiera przykład dla klasy ExternalInterface w Skorowidzu ActionScript 3.0.
|
|
|