r03-04.doc

(271 KB) Pobierz
Po prostu









Część 2.

Zrozumieć ActionScript

 


 

 


3









Posługiwanie się
językiem ActionScript

 

 



 

Części składowe języka HTML

85


















Posługiwanie się językiem ActionScript

Posługiwanie się językiem ActionScript

ActionScript jest nazwą wewnętrznego języka skryptowego Flasha, używanego do projektowania skryptów przypisywanych później do klipów filmowych, przycisków i ujęć kluczowych. Język ten można wykorzystać do tworzenia złożonych narzędzi do nawigacji w projektach filmowych Flasha, przycisków reagujących na wskaźnik myszy, a nawet do tworzenia gier zręcznościowych czy efektownych witryn reklamowych o dynamicznie aktualizowanej zawartości. W tym rozdziale nauczysz się posługiwać językiem ActionScript do tworzenia interaktywnych funkcji na potrzeby twoich projektów. Przypomina to trochę naukę gramatyki języka obcego: najpierw poznajesz zasady łączenia rzeczowników z czasownikami oraz dodawania przymiotników i przyimków; potem rozszerzasz swoje umiejętności komunikacji i posługiwania się mową, przyswajając kolejne zasób leksykalny. Rozdział niniejszy pomoże ci opanować podstawy ActionScript i wyposaży w znajomość słownictwa opisującego akcje Flasha.

Jeśli posługiwałeś się już językiem JavaScript, to z pewnością zauważysz pewne podobieństwa pomiędzy tymi dwoma językami. W zasadzie ActionScript bazuje na języku JavaScript, który jest popularnym, zorientowanym obiektowo językiem programowania, używanym do projektowania interaktywnych witryn internetowych. Jednak skrypty JavaScript z założenia kontrolują pracę przeglądarek, natomiast ActionScript wpływa na zachowanie poszczególnych elementów filmu Flasha, przez co istnieje kilka różnic pomiędzy tymi językami. Jednak podstawowa składnia, sposób zarządzania obiektami i funkcjami w obu przypadkach pozostają jednakowe.

Nawet jeśli nigdy jeszcze nie zetknąłeś się z językiem JavaScript, śledząc ten rozdział, przekonasz się, że programowanie we Flashu jest łatwe. Zapoznasz się z logiką obiektów, a także dowiesz się, jak paleta akcji pomaga zautomatyzować proces programowania, dając ci większą elastyczność w tworzeniu coraz bardziej zaawansowanych skryptów.


Adam

Zeke

Betty

Obiekty i klasy

Klasa ludzi

Obiekty i klasy

Sercem języka ActionScript są obiekty oraz klasy. Obiektami mogą być dowolne typy danych, np. dźwięk, klip filmowy, łańcuch znaków lub wartości liczbowe, które tworzysz we Flashu i wykorzystujesz do kontrolowania filmu. Dla przykładu, obiekt daty jest używany do podawania informacji o czasie i dacie, a obiekt tablicowy służy do manipulowania danymi zgromadzonymi w określonym porządku. Wszystkie tworzone przez ciebie obiekty należą do większej grupy zbiorczej, zwanej klasą. We Flashu zaimplementowano szereg klas możliwych do wykorzystania w twoich filmach. Owe predefiniowane klasy także określane są mianem obiektów, jednak mają nazwy pisane wielką literą. Na przykład obiekt Kolor jest klasą, na podstawie której tworzy się różnokolorowe obiekty. Nauka programowania w ActionScript sprowadza się do zrozumienia działania poszczególnych obiektów oraz ich klas, a następnie wykorzystania ich do wzajemnej interakcji oraz interakcji z użytkownikiem.

W realnym świecie znane nam są takie obiekty, jak krowa, drzewo czy osoba (rys. 3.1). Obiekty we Flashu mogą przyjmować różne postaci – od widzialnych przedmiotów, w rodzaju wirującej kuli, do bardziej abstrakcyjnych koncepcji, np. daty, fragmentów danych lub odczytywania informacji wprowadzanych z klawiatury. Niezależnie jednak od ich materialności czy abstrakcyjności, obiekty Flasha są wszechstronne, ponieważ kiedy już raz je utworzysz, można używać ich w różnych kontekstach. Zanim jednak będziesz mógł użyć obiektów, musisz nauczyć się je identyfikować, a robi się to, po prostu nazywając je – jak w realnym świecie. Załóżmy więc, że masz przed sobą troje ludzi: Adama, Betty i Zeke’a. Wszyscy oni stanowią obiekty, które odróżniają imiona. Wszyscy też należą do jednej większej grupy znanej jako ludzie. Można powiedzieć, że Adam, Betty i Zeke są klonami klasy ludzi (rys. 3.2). W języku ActionScript, klony oraz obiekty są synonimami i nazwy te są używane w tej książce zamiennie.

Rys. 3.1. Obiektami w realnym świecie mogą być np. krowa, drzewo czy osoba

 

 

Rys. 3.2. Adam, Betty i Zeke to trzy obiekty klasy ludzi. Oczywiście we Flashu nie ma takiej klasy (co nie znaczy, że nie można jej stworzyć), jednak ta analogia pozwala pojąć znaczenie obiektów

 


Zeke

Wzrost = 66

Waga = 188

Płeć = M

Kolor włosów = brązowe

Betty

Wzrost = 68

Waga = 135

Płeć = K

Kolor włosów  = czarne

Adam

Wzrost = 69

Waga = 140

Płeć = M

Kolor włosów = czarne

Metody i właściwości

Właściwości

Klasa ludzi

Wzrost

Waga

Płeć

Kolor włosów

 

 

 

 

 

Rys. 3.3. Adam, Betty i Zeke są obiektami ludzkimi z różnymi właściwościami. Właściwości odróżniają obiekty tej samej klasy

 

 

 

 

 

 

 

 

 

 

 

Wskazówka

n     Pomyśl o obiektach jak o rzeczownikach, o właściwościach jak o przymiotnikach i o metodach jak o czasownikach – to ułatwia sprawę. Właściwości opisują obiekty, podczas gdy metody to akcje, które obiekty wykonują.

Metody i właściwości

Każdy obiekt w danej klasie (np. Zeke z klasy ludzie) wyróżnia spośród innych obiektów w tej klasie nie tylko jego nazwa. Każdy człowiek jest inny pod względem wielu cech, które czynią go niepowtarzalnym, np. wzrostu, wagi, płci czy koloru włosów. W obiektowo zorientowanych językach programowania mówimy, że obiekty i klasy mają właściwości. Wzrost, waga płeć i kolor włosów, są właściwościami klasy ludzi (rys. 3.3). We Flashu, każda z predefiniowanych klas posiada swój zestaw właściwości pozwalających zindywidualizować poszczególne obiekty. I tak klasa String ma tylko jedną właściwość, nazywaną lenght, która określa ilość znaków zawartych w danym obiekcie, czyli łańcuchu znaków. Klasa MovieClip (klip filmowy) natomiast ma wiele właściwości, np. _height (wysokość), _width (szerokość) i _rotation (kąt obrotu), które wskazują na wymiary i orientację konkretnego obiektu-klipu filmowego. Definiując i zmieniając właściwości obiektów, kontrolujesz ich postać .

Ponadto ludzie mogą wykonywać różne czynności. Zeke może biegać, spać lub rozmawiać. W żargonie obiektowym mówimy, że obiekt posiada metody, które na niego wpływają . Każda z predefiniowanych klas ma swój własny zestaw metod. Przykładowo, klasa Sound (dźwięk) posiada metodę setVolume, pozwalającą ustalić poziom dźwięku, a klasa Date (data) metodę getDay, która zwraca dzień tygodnia. Kiedy używamy metody obiektu, mówimy, że ta metoda została wywołana, ewentualnie obiekt wywołuje metodę.

Zrozumienie związków pomiędzy obiektami, klasami, właściwościami i metodami jest ważne. Definiowanie obiektów, tak aby metody i właściwości jednego oddziaływały na metody i właściwości drugiego, jest sposobem, w jaki we Flashu tworzymy interaktywne elementy . Kluczem do rozwijania zasobu słownictwa języka ActionScript jest poznanie właściwości i metod poszczególnych klas.


Mouse.hide ()

Adam.run ()

Pisanie według reguł składni

Waga Betty = 135

Waga Zeke = 188

Pisanie według reguł składni

Podobnie jak w przypadku każdego innego języka obcego, jeśli chcesz układać słowa w zdania, musisz poznać reguły gramatyki. W języku ActionScript też istnieją określone konwencje, pozwalające układać obiekty, właściwości i metody w wyrażenia, a te z kolei w funkcje i skrypty. Poszczególne obiekty, właściwości i metody łączy się za pomocą kropek, opisując w ten sposób konkretny obiekt lub proces. Oto przykład:

Zeke.weight = 188;

Betty.weight = 135;

Pierwsze wyrażenie przyporządkowuje wartość 188 wadze (weight) Zeke’a. Drugie wyrażenie przyporządkowuje wartość 135 wadze Betty. Kropka oddziela nazwę obiektu od właściwości (weight) (rys. 3.4).

Betty.shirt.color = gray;

To wyrażenie wskazuje, że obiekt Betty jest połączony z obiektem shirt (koszula). Z kolei obiekt shirt posiada właściwość color (barwa), której przyporządkowano wartość gray (szary). Zwróć uwagę, że w składni ActionScript używa się wielu kropek do ustalania hierarchii obiektów. Kiedy mamy do czynienia z kilkoma obiektami połączonymi w taki sposób, zwykle łatwiej jest czytać wyrażenie od tyłu. Można więc zinterpretować to tak: „Szary jest kolorem bluzki Betty”.

Zeke.run ();

To wyrażenie oznacza, że obiekt Zeke wywołuje metodę run. Nawiasy stojące za słowem run wskazują, że jest to metoda, a nie właściwość. Możesz nazywać taką konstrukcję następująco: rzeczownik-kropka-czasownik (rys. 3.5). Metody często będą posiadały argumenty, podawane w nawiasach i decydujące o sposobie wykonania metody. Na przykład:

Zeke.run (fast);

Adam.run (slow);

 

Rys. 3.4. Hipotetyczna właściwość weight opisuje Betty i Zeke’a. We Flashu, właściwości obiektów mogą być ustalane i modyfikowane za pomocą języka ActionScript

 

Rys. 3.5. Zastosowanie kropki powoduje, że obiekty wywołują metody. Tak jak hipotetyczna metoda run mogłaby sprawić, że obiekt Adam zacznie biegać, tak prawdziwa metoda Flasha hide(), zastosowana do obiektu Mouse, powoduje, że wskaźnik myszy staje się niewidoczny

 


Pisanie według reguł składni

W obu wyrażeniach obiekty Zeke i Adam wywołują metodę run (bieg), jednak w każdym przypadku metoda posiada inny argument, co oznacza, że czynność biegania będzie wyglądać w różny sposób: Zeke będzie biegł szybko, podczas gdy Adam – powoli.

Każda metoda będzie korzystać z własnego zestawu argumentów. Rozważ na przykład podstawową akcję Flasha gotoAndPlay("Scene 1",20) (gotoAndPlay jest metodą należącą do klasy MovieClip jak też niezależną akcją Flasha). Argumenty w nawiasach (”Scene1”,20) odnoszą się do konkretnej sceny i numeru klatki, tak więc odtwarzacz przeskoczy do sceny 1 i klatki 20, a następnie rozpocznie odtwarzanie filmu.

Wskazówka

n     Kropka zastępuje ukośnik z poprzednich wersji Flasha. Chociaż można wciąż używać ukośnika, lepiej posługiwać się kropką, ponieważ jest bardziej kompatybilna z nowymi typami akcji.

Więcej o interpunkcji

Więcej o interpunkcji

Zastosowanie kropki umożliwia tworzenie zależności pomiędzy obiektami, właściwościami i metodami. Dodatkowe znaki interpunkcyjne pozwalają na więcej kombinacji z pojedynczymi wyrażeniami.

Średnik

Średnika używa się do zaznaczenia końca jednego wyrażenia i początku następnego. Znak ten spełnia podobną funkcję, co kropka w zdaniu: oddziela dwie idee, jedną od drugiej. Oto przykład:

stopAllSounds ();

play ();

Średniki oddzielają wyrażenia, tak więc najpierw wyłączany jest dźwięk, a potem rozpoczyna się odtwarzanie filmu. Każdy skrypt jest wykonywany w kolejności od góry do dołu, podobnie jak zestaw instrukcji czy przepis kuchenny.

Wskazówka

n     Dla Flasha zrozumiałe są poszczególne wyrażenia, nawet jeśli nie używasz średników do ich oddzielania. Dobrym zwyczajem jest jednak stosowanie tych znaków w kodzie skryptu.

 

Klamry

Klamry są kolejnym znakiem interpunkcyjnym często stosowanym w kodzie ActionScript. Służą do grupowania poszczególnych skryptów w bloki. Na przykład, kiedy przyporządkowujesz akcje przyciskom, akcje te są zapisywane w klamrach wyrażenia on (release).

on (release) {

              stopAllSounds ();

              play ();

}

W powyższym przykładzie obie akcje, stopAllSounds oraz play, są wykonywane po zwolnieniu klawisza myszki. Zwróć uwagę na sposób rozmieszczenia klamer w kolejnych liniach, ułatwiających odczytanie powiązanych ze sobą wyrażeń języka ActionScript. Ważne jest, aby po klamrze zamykającej blok akcji on (jak również po onClipEvent) nie stawiać średnika, ponieważ Flash zinterpretuje to jako błąd.

 


Paleta akcji

Ikona zmiany rozmiaru palety





Okno skryptu



Blok edycji parametrów



Menu rozwijane opcji

Przyciski strzałek pozwalają zmieniać układ wyrażeń





Przyciski „plus” i „minus” dodają lub usuwają ze skryptu akcje

Lista narzędzi zawierająca akcje zorganizowane w kategorie



Przycisk Show Actions

Rys. 3.6. Ikonowe menu w prawym dolnym rogu dokumentu Flasha otwiera paletę akcji dzięki przyciskowi Show Actions

 

 

...

Zgłoś jeśli naruszono regulamin