r07-04.doc

(590 KB) Pobierz
Po prostu









Część 4.

Przekształcanie grafiki i dźwięku

 


 

 


7









Kontrolowanie
klipów filmowych

 

 



 

Części składowe języka HTML

233


















Kontrolowanie klipów filmowych

Kontrolowanie klipów filmowych

Klip filmowy jest bardzo potężnym obiektem. Flash pozwala nadzorować jego wygląd i zachowanie. Takie właściwości klipu filmowego jak pozycja, skalowanie, rotacja, przezroczystość, kolor, a nawet nazwa klonu, mogą być ustawiane za pomocą języka ActionScript. W rezultacie otrzymujesz możliwość tworzenia elementów interaktywnych wzorowanych na grach zręcznościowych, zmieniających się w odpowiedzi na wprowadzane przez użytkownika dane lub preferencje. Wyobraź sobie na przykład grę Tetris stworzoną od początku do końca we Flashu. Każda figura geometryczna będzie klipem filmowym, którego rotację i pozycję kontroluje użytkownik za pomocą klawiatury. W grze w stylu Asteroids możemy mieć do czynienia z obcym statkiem kosmicznym, poruszającym się w zależności od zachowania statku sterowanego przez użytkownika. Tego typu animacje nie opierają się na automatycznie animowanych sekwencjach, które zazwyczaj tworzysz, pracując nad filmem we Flashu. Są to raczej dynamiczne serie obrazów, „przygotowywane” na bieżąco w czasie odtwarzania. Opanowanie zasad kontrolowania właściwości klipu filmowego jest więc pierwszym krokiem na drodze do zrozumienia sposobu tworzenia animacji w całości za pomocą ActionScript.

Ponadto Flash umożliwia użytkownikom przesuwanie klipu filmowego za pośrednictwem akcji przeciągnij-i-upuść. Wykorzystaj przeciągane klipy filmowe do stworzenia układanki, w której użytkownik prawdziwie sięga po kolejne elementy i układa je na właściwych miejscach, lub też zaprojektuj bardziej wciągający interfejs internetowego sklepiku, gdzie użytkownik będzie wybierał artykuły i wrzucał je do koszyka. Nauczysz się tworzyć przeciągane klipy filmowe, a także metody pozwalające określić miejsce ich upuszczania na scenie, Dowiesz się również, jak kontrolować kolizje klipów i nakładanie się z innymi klipami filmowymi. Potem zajmiemy się powielaniem złożonych klipów filmowych i przeciąganiem ich z biblioteki na scenę w trakcie odtwarzania.

Na koniec zobaczysz, jak z pomocą klipu filmowego zaprojektować własny kursor. Zamiast bowiem używać domyślnej strzałki lub „rączki”, możesz tworzyć kształty odpowiadające unikalnej zawartości twojego filmu. Dla przykładu, przygotuj ikonę lornetki lub krzyżyka w grze o polowaniu lub dłoń szkieletu, prowadzącą użytkownika przez gabinet grozy.


Przeciąganie klipu filmowego



Przeciąganie klipu filmowego

Mechanizm przeciągnij-i-upuść pozwala tworzyć najbardziej bezpośredni rodzaj interakcji pomiędzy użytkownikiem i filmem Flasha. Nie ma nic bardziej satysfakcjonującego niż możliwość przeciągnięcia grafiki na ekran, przesuwania jej z jednego miejsca w drugie, a na końcu – porzucenia zupełnie gdzie indziej. Jest to naturalny sposób na interakcję użytkownika z obiektami, a w dodatku bardzo łatwy do wykorzystania. Tworzenie mechanizmów przeciągnij-i-upuść we Flashu zamyka się w dwóch podstawowych krokach: przygotowaniu klipu filmowego i zaprojektowaniu przycisku wewnątrz klipu, wyzwalającego akcję przeciągania.

Zwykle przeciąganie rozpoczyna się w momencie, kiedy użytkownik naciśnie klawisz myszy. Później, po zwolnieniu klawisza, przeciąganie zostaje przerwane. Stąd akcja rozpoczęcia przeciągania związana jest ze zdarzeniem myszy on (press), a akcja zakończenia przeciągania – ze zdarzeniem on (release).

W celu rozpoczęcia przeciągania
klipu filmowego:

1.   Utwórz symbol klipu filmowego, umieść jego klon na scenie i nadaj mu nazwę.

2.   Utwórz niewidzialny przycisk, tak jak to opisano w rozdziale 4., a następnie umieść jego klon wewnątrz klipu filmowego (rys. 7.1).

3.   Zaznacz klon przycisku i otwórz paletę akcji.

4.   Wybierz Actions/on (Esc + on). W oknie skryptu pojawi się wyrażenie on (press).

5.   W bloku edycji parametrów usuń zaznaczanie pola wyboru Release i zaznacz pole wyboru Press (rys. 7.2). Wyrażenie on (press) zostanie zastąpione przez wyrażenie on (release).

Rys. 7.1. Te oczy są częścią symbolu klipu filmowego. W trybie edycji przeciągnij ikonę niewidzialnego przycisku nad oczy, żeby przypisać akcję startDrag do niewidzialnego przycisku

 

Rys. 7.2. Wybierz zdarzenie (Event) Press dla manipulatora on przypisanego do niewidzialnego przycisku w twoim klipie filmowym

 


Przeciąganie klipu filmowego

Rys. 7.3. Wpisanie słowa kluczowego this w polu Target sprawia, że akcja startDrag będzie oddziaływać na bieżący klip filmowy

 

6.   Wybierz Actions/startDrag (Esc + dr). Poniżej zdarzenia myszy on (press) pojawi się akcja startDrag.

7.   W polu Target bloku edycji parametrów wpisz this i zaznacz pole Expression (rys. 7.3).

Słowo kluczowe this odnosi się do bieżącego klipu filmowego. Zaznaczenie pola wyboru Expression usuwa cudzysłów zamykający to słowo, dzięki czemu Flash traktuje je właśnie jako słowo kluczowe, a nie łańcuch znakowy.

8.   Przeciągnij klon klipu filmowego z biblioteki na scenę.

Ponieważ przycisk wewnątrz klipu filmowego używa wyrażenia względnego this, niepotrzebne jest nazywanie klonu klipu filmowego.

9.   Przetestuj film. Jeśli naciśniesz klawisz myszy w obrębie klipu filmowego, będziesz mógł go przeciągnąć.

 


Przeciąganie klipu filmowego

W celu zakończenia
przeciągania klipu filmowego:

1.   Pracując dalej nad plikiem utworzonym w poprzednim ćwiczeniu, zaznacz klamrę zamykającą w oknie skryptu.

2.   Wybierz Actions/on.

Pojawi się wyrażenie on (release).

3.   Wybierz Actions/stopDrag (Esc + sd). Pojawi się wyrażenie stopDrag bez żadnych parametrów (rys. 7.4).

4.   Przetestuj film. Jeśli naciśniesz klawisz myszy w obrębie klipu filmowego, będziesz mógł go przeciągnąć. Kiedy zwolnisz klawisz, zakończysz przeciąganie (rys. 7.5).

Wskazówki

n     Możesz także przypisać akcję startDrag do manipulatora zdarzenia klipu filmowego onClipEvent i nie przejmować się osadzonym niewidzialnym przyciskiem. Skorzystaj z tego sposobu, jeśli masz tylko jeden klip filmowy, który odbiorca może przyciągać, i kiedy nie potrzebujesz korzystać z cech niewidzialnego przycisku. Jeśli, na przykład, przypiszesz akcję startDrag do zdarzenia onClipEvent (load), Flash automatycznie wprowadzi możliwość przeciągania tego klipu filmowego. Kiedy przypiszesz akcję startDrag do zdarzenia onClipEvent (mouseDown), klip będzie można przeciągać po uprzednim kliknięciu myszą gdziekolwiek na scenie.

n     Możliwe jest przeciąganie tylko jednego klipu filmowego na raz. Właśnie dlatego akcja stopDrag nie posiada żadnych parametrów; jest wykonywana tylko w odniesieniu do pliku aktualnie przeciąganego.

 

Rys. 7.4. Przypisz akcję stopDrag do manipulatora zdarzenia on (release)

 

Rys. 7.5. Każdy z trzech elementów twarzy – widocznych po prawej – jest klipem filmowym, zawierającym niewidzialny przycisk z przypisanym skryptem widocznym w ramce powyżej. Te trzy klipy mogą być przeciągnięte nad ziemniaczaną twarz i upuszczone w odpowiednich pozycjach

 


Przeciąganie klipu filmowego

Rys. 7.6. Opcja Lock mouse to center wymusza przeciąganie klipu filmowego za punkt początkowy

 

Być może wolałbyś, żeby w czasie przesuwania klipu filmowego do wskaźnika myszy przyciągany był jego środek, a nie punkt, w którym kliknął użytkownik.

W celu wyśrodkowania
przeciąganego klipu filmowego:

1.   W bloku edycji parametrów palety akcji zaznacz pole wyboru Lock mouse to center (rys. 7.6). Kiedy klikniesz myszą klip filmowy, który zamierzasz przeciągnąć, punkt początkowy klipu zostanie przyciągnięty do wskaźnika myszy.

Wskazówka

n     Jeśli zaznaczysz opcję Lock mouse to center, upewnij się, że twój niewidzialny przycisk pokrywa punkt początkowy klipu filmowego. W przeciwnym razie, po przyciągnięciu do niego klipu, wskaźnik nie będzie już dłużej znajdował się nad niewidzialnym przyciskiem i Flash nie wykryje momentu przerwania akcji przeciągania.

 


Przeciąganie klipu filmowego

Być może chciałbyś również ograniczyć obszar, po którym użytkownik może przeciągać klipy filmowe.

W celu ograniczenia obszaru przeciągania klipu filmowego:

1.   Zaznacz pole wyboru Constrain to rectangle i wprowadź współrzędne (w pikselach) do wszystkich czterech pól, reprezentujących krańcowe położenia punktu początkowego przeciąganego klipu filmowego (rys. 7.7).

L: krańcowe położenie w kierunku lewego marginesu (minimalna współrzędna X), jakie może osiągnąć punkt początkowy klipu filmowego;

R: krańcowe położenie w kierunku prawego marginesu (maksymalna współrzędna X), jakie może osiągnąć punkt początkowy klipu filmowego;

T: krańcowe położenie w kierunku górnego marginesu (minimalna współrzędna Y), jakie może osiągnąć punkt początkowy klipu filmowego;

B: krańcowe położenie w kierunku dolnego marginesu (maksymalna współrzędna X), jakie może osiągnąć punkt początkowy klipu filmowego;

lub

Współrzędne są względne w stosunku do listwy czasowej, w której rezyduje klip filmowy. Jeśli przeciągany klip filmowy znajduje się na głównej listwie czasowej, współrzędne odpowiadają punktom na scenie, np. L=0, T=0 to lewy górny róg sceny. Jeśli przeciągany klip filmowy zawiera się wewnątrz innego klipu, L=0, T=0 odpowiada punktowi początkowemu klipu filmowego-rodzica.

Rys. 7.7. Opcja Constrain to rectangle umożliwia ustawienie lewej (L), prawej (R), górnej (T) i dolnej (B) krawędzi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Wskazówka

n     Parametrów opcji Constrain to rectangle możesz użyć do ograniczenia ruchu przeciągania tylko wzdłuż poziomej lub pionowej ścieżki, tak jak w przypadku pasków przewijania. Ustaw te same wartości w polach L i R, żeby ograniczyć się do ruchu w pionie, lub wprowadź identyczne ustawienia pól T i B, jeśli przeciąganie ma się odbywać tylko w prawo lub lewo.


Ustawianie właściwości klipu

Ustawianie właściwości
klipu filmowego

Wiele spośród właściwości klipu filmowego – jak rozmiar, przezroczystość, pozycja, rotacja i jakość – definiują wygląd filmu. Korzystając z akcji setProperty, możesz wskazać dowolny klip filmowy i zmienić którąś z wymienionych charakterystyk w czasie odtwarzania. Poniższa tabela przedstawia właściwości dostępne dla akcji setProperty. Niektóre z tych właściwości mają charakter globalny, co oznacza, że odnoszą się do całego filmu, a nie jedynie pojedynczego klipu filmowego.

 

 

 

Tabela 7.1. Właściwości ustawiane za pomocą akcji setProperty

Właściwość              Wartość              Opis

_alpha (Alpha)

Liczba od 0 do 200

Określa przezroczystość, gdzie 0 oznacza całkowicie przezroczysty, a 100 – kryjący.

_visible (Visibility)

Prawda lub fałsz

Określa widzialność klipu filmowego.

_name (Name)

Nazwa

Określa nazwę nowego klonu klipu filmowego.

_rotation (Rotation)

Liczba

Określa stopień obrotu zgodnie z ruchem wskazówek zegara, np. wartość 45 obraca klip filmowy w prawo.

_height (Height)

Liczba (w pikselach)

Określa rozmiar w pionie.

_width (Width)

Liczba (w pikselach)

Określa rozmiar w poziomie.

_x (X Position)

Liczba (w pikselach)

...

Zgłoś jeśli naruszono regulamin