Integracja rodowiska programowania ActionScript

background image

Systemy multimedialne

Integracja środowiska programowania
ActionScript

background image

Główna listwa czasowa

„

Główna listwa czasowa jest podstawą wszystkich

animacji we Flashu

„

Listwa czasowa Flasha jest wbudowana, działa zgodnie z

predefiniowaną prędkością odtwarzania

„

Wszystkie klipy filmowe osadzone w głównym filmie

dziedziczą tę prędkość odtwarzania

background image

Główna listwa czasowa

„

Kod ActionScript można dołączyć do ujęcia

umieszczonego na głównej listwie czasowej, do ujęcia w

klipie filmowym lub do dowolnego składnika filmu (np.

przycisku lub klipu filmowego), który znajduje się na

głównej listwie czasowej lub jest osadzony wewnątrz

innego klipu filmowego.

„

Struktura ActionScript wygląda następująco

background image

Struktura kodu ActionScript

„

Każde ujęcie znajdujące się na głównej listwie czasowej

jest odtwarzane z określona prędkością, bez względu na

zawartość ilości kodu mieszczącego się w tym ujęciu.

„

Jeśli realizacja kodu zabiera więcej czasu niż domyślnie

przypisany dla danego ujęcia przez prędkość

odtwarzania , wówczas animacja zablokuje listwę

czasową.

„

Jeżeli animacja jest za bardzo opóźniona zostanie

wyświetlone okno z propozycją wyłączenia skryptu.

background image

Struktura kodu ActionScript

kierunek listwy czasowej

ki

er

unek

p

ro

gr

am

u

czas potrzebny do

przetworzenia akcji

w każdym rysunku

background image

Unikanie blokowania listwy czasowej

„

Należy obliczyć liczbę milisekund potrzebnych do

odtworzenia każdego ujęcia.

„

Zakładając że prędkość odtwarzania wynosi 12 klatek na

sekundę można policzyć że odtworzenie każdego ujęcia

zajmie 1000/12=83,33ms

„

Jeżeli realizacja kodu przekroczy ten czas płynne

odtwarzanie zostanie zagrożone

„

Główne problemy związane z blokowaniem listwy

czasowej we Flashu spowodowane są osadzonymi

pętlami i funkcjami rekurencyjnymi.

background image

Pętle osadzone

„

Pętla osadzona:

for (a=1; a<100; a++) {

for (b=1; b<100; b++) {

for (c=1; c<100; c++) {
}

}

}

„

W powyższym fragmencie osadzono 3 pętle. Każda

iteracja pierwszej pętli spowoduje 100 iteracji drugiej, a

każda iteracja drugiej pętli spowoduje 100 iteracji pętli

trzeciej. W rezultacie otrzymamy 100x100x100 instrukcji.

background image

Funkcje rekurencyjne

„

Funkcja rekurencyjna jest funkcją wywołującą samą

siebie.

„

Przykładem takiej funkcji jest znalezienie danej liczby z

zakresu np. 0-100. Funkcja podzieli zakres na pół i

sprawdzi w której połowie znajduje się poszukiwana

liczba. Następnie ponownie sama się wywoła aby

podzielić nowy zakres na pół. Będzie tak działać do

momentu w którym znajdzie właściwą liczbę.

background image

Unikanie problemu blokowania

„

Aby uniknąć tego problemu należy unikać tego typu

instrukcji

„

Aby efektywnie kontrolować pętle należy pamiętać iż do

wykorzystania mamy trzy wymiary czasowe.

„

Zamiast tworzyć w jednym ujęciu pętle obejmującą cały

kod, można wykonać ją w obrębie jednej sekcji listwy

czasowej

background image

Praca z kilkoma listwami czasowymi

„

Każdy klip posiada własną listwę czasową po której może

się poruszać bez wywierania wpływu na listwy czasowe

innych klipów filmowych

„

Prędkość odtwarzania klipów filmowych musi być

zsynchronizowana z głównym filmem.

„

Kolejność ujęć w klipach filmowych jest niezależna, lecz

prędkość odtwarzania nie jest, gdyż jest pobierana z

filmu umieszczonego na górnym poziomie bez względu

na to czy zostały zdefiniowany jako symbole w bibliotece

tego filmu czy też zostały pobrane z zewnętrznego

źródła.

background image

Praca z osadzonymi klipami filmowymi

„

Główna listwa czasowa może zawierać kilka klipów

filmowych, z których każdy może również zawierać

kolejne kipy filmowe.

„

Najtrudniejszym do rozwiązania problemem podczas

pracy z osadzonymi klipami filmowymi jest poznanie

zasięgu zmiennych i funkcji.

„

Po zdeklarowaniu zmiennej w obrębie danej listwy

czasowej listwa ta staje się zasięgiem zmiennej. Dostęp

do zmiennej za pomocą podania samej nazwy można

uzyskać tylko wtedy, gdy wywołana jest z listwy

czasowej na której się znajduje

background image

Praca z osadzonymi klipami filmowymi

„

Ścieżkę listwy czasowej można zmienić, wykorzystując

następującą składnię:

ścieżka_listwyczasowej.nazwa_zmiennej

„

Ta sama zasada dotyczy własności, gdyż są one

systemowo zdefiniowanymi zmiennymi. Aby uzyskać

dostęp do własności zmiennej korzystamy z następującej

składni:

zmienna._własność

background image

Praca z osadzonymi klipami filmowymi

„

Przejście o poziom wyżej w hierarchii listew czasowych

osadzonego klipu filmowego opiera się o pseudoobiekt

_parent

, który reprezentuje listwę czasową położoną o

poziom wyżej. Aby uzyskać dostęp do zmiennej należy

zastosować następującą składnię:

zmienna._parent.własność

„

Obiekty

_root

oraz

_level0

przenoszą bezpośrednio na

listwę czasową najwyższego poziomu.

„

Pomiędzy obiektami

_root

oraz

_level0

istnieje

niewielka różnica. Pierwszy przenosi nas do najwyższego

poziomu danego filmu, a drugi na listwę czasową o

nazwie

level0 ,

która nie musi być jednocześnie główną

listwą czasową filmu

background image

Rysunki, klipy filmowe i przyciski

„

Symbol graficzny jest odtwarzany przez ujęcia w

symbolu. Symbolu graficznego nie można obsługiwać

zewnętrznym kodem, również żaden kod symbolu w

symbolu graficznym nie będzie miał wpływu na symbole

zewnetrzne.

„

Listwa czasowa symbolu graficznego jest całkowicie

zsynchronizowana z listwą czasową w której jest

zawarta.

background image

Rysunki, klipy filmowe i przyciski

„

Symbol klipu filmowego dysponuje największymi

możliwościami . Symbol klipu filmowego zawiera pewną

liczbę ujęć które są odtwarzane w standardowy sposób.

„

Listwa czasowa klipu filmowego jest niezależna od listwy

czasowej zawierającej dany klip filmowy.

„

Każdej kopii klipu filmowego można nadać nazwę i

obsługiwać ją w obrębie kodu.

„

Kod umieszczony wewnątrz klipu filmowego sam potrafi

obsługiwać inne obiekty i zmienne

background image

Rysunki, klipy filmowe i przyciski

„

Symbol przycisku posiada cztery ujęcia reprezentujące

cztery stany :

Up, Over, Dovn, Hit

.

„

Przycisk odtwarza każde z ujęć w odpowiedzi na pewne

zdarzenie.

„

W przyciskach można osadzać symbole graficzne i klipy

filmowe.

background image

Wykonywanie kodu ActionScript

„

Kolejność wykonywania kodu jest uzależniona od wielu

czynników. Struktura budowy klipu wpływa na kolejność

uruchamiania instrukcji w kodzie ActionScript

background image

W obrębie pojedynczego ujęcia

„

Instrukcje wykonywane są w kolejności ich

występowania; kod w obrębie danego ujęcia tworzy

oddzielną jednostkę (pomiędzy początkiem i końcem

odtwarzania ujęcia nie można wykonywać żadnego

innego kodu)

background image

W obrębie pojedynczej warstwy

„

Ujęcia realizowane są w kolejności jedno po drugim;

„

Funkcje wykonywane są po ich wywołaniu; funkcje

można wywoływać wyłącznie po ich zdeklarowaniu

„

Procesy obsługi zdarzeń (

on

lub

OnClipEvent

)

wykonywane są wówczas, gdy zachodzi dane zdarzenie;

można je wykonywać tylko po ich zdeklarowaniu

background image

W obrębie pojedynczego klipu filmowego

„

Kod w ujęciach odtwarzanych w tym samym czasie

wykonywany jest zgodnie z kolejnością warstw,

rozpoczynając od warstwy górnej

„

Kolejność ujęć jest sekwencyjna

background image

W obrębie filmu

„

W przypadku jednoczesnych ujęć kod w klipie filmowym

wykonywany jest po zrealizowaniu kodu w klipie

macierzystym

„

Najłatwiejszym sposobem sprawdzenia kolejności

wykonywania poszczególnych operacji jest wykorzystanie

funkcji

trace

zmienna;
trace(zmienna);

background image

Tworzenie efektów wizualnych z

zastosowaniem ActionScript

background image

Tablice

„

Tablice służą do przechowywania wielu obiektów i wielu

zmiennych. Tablica zbliżona jest strukturą do listy, gdyż

tak samo jako ona posiada ponumerowane wejścia, w

których przechowywane są dane. W języku ActionScript

tablice definiuje się za pomocą poniższej instrukcji:

myArray= new Array (liczbawartosci)

parametr

liczbawartosci

określa ilość wartości jaka będzie

przechowywana w tablicy.

background image

Tablice

„

Następnie należy przypisać do tablicy wartości lub

obiekty stosując nazwę tablicy z następującym po niej

numerem okienka do którego chcemy uzyskać

dostęp.Poniższa instrukcja stworzy tablicę i w pierwsze

trzy komórki wstawi wartości:

myArray=newArray ();
myArray[0] = 100;
myArray[1] = 256;
myArray[2] = 34;

W przypadku definiowania funkcji w ten sposób nie

trzeba określać jej rozmiaru.

background image

Tablice

„

Innym sposobem definiowania tablicy jest skorzystanie z

poniższego kodu:

myArray=new Array ();
myArray= [100,256,34];

Uzyskany efekt będzie identyczny jak w przypadku

zastosowania poprzedniej funkcji. Liczby umieszczone w

nawiasie kwadratowym zostaną automatycznie

przypisane do numerów indeksowych tablicy w takiej

samej kolejności jak w poprzednim fragmencie.

„

Najlepszym sposobem na edytowanie i odczytywanie

komórek umieszczonych w liście jest zastosowanie pętli.

background image

Przechwytywanie klawisza

„

Flash zawiera kilka predefinowanych obiektów, za pomocą których

uzyskuje się dostęp do obiektów zaawansowanych (np. obiekty

tablicy

Array

) .

„

Jednym z takich obiektów jest obiekt klawisza

Key

dzięki któremu dysponujemy techniką potrzebną do wykrywania i

wyróżniania wciśniętych przez użytkownika klawiszy

„

Aby efektywnie wykorzystać obiekt

Key

należy opracować sposób

wykrywania wciśnięcia klawisza.

„

We Flashu istnieją procedury obsługujące zdarzenia:

press, relase

,

keyUp , keyDown

„

Zastosowanie tych wyrazów kluczowych jako parametrów dla

procedury

OnClipEvent

może aktywować zdefiniowany przez nas

kod.

background image

Przechwytywanie klawisza

„

Obiekt

Key

posiada dwie metody rozpoznawania wciśnięcia

klawisza.

„

Pierwsza z metod używa się przy pomocy funkcji

Key.getCode.

„

Drugą metodą jest przechwytywanie kodu ASCII za pomocą

funkcji

Key.getAscii

„

Obie metody dają podobne efekty ale ich działanie jest różne.

„

Funkcja

Key.getCode

wydobywa kod który jest przypisany do

wewnętrznej zmiennej po wciśnięciu klawisza

„

Funkcja

Key.getAscii

pobiera kod klawisza jaki został wciśnięty

i określa dokładnie jaki znak został użyty


Document Outline


Wyszukiwarka

Podobne podstrony:
PR1 00 rodowisko programistyczne
PR1 00 rodowisko programistyczne
SATEL INTEGRA INSTRUKCJA PROGRAMOWANIA
Program integracji dla klasy I C w Szkole Podstawowej nr 2 w Toruniu
program integracja
program wychowawczy - integracja, dzieci, dla dzieci
Przedmioty obieralne 2 st 2 sem gik - treści programowe, SEM II Analiza i integracja danych, GIK
Program adaptacji wstępnej do grupy przedszkolnej z oddziałem integracyjnym
Program integracyjny, dzieci, dla dzieci
Flash MX Programowanie w jezyku ActionScript flmxas
program w grupie integracyjnej, Integracja szkolna uczniów
Indywidualny program pracy z dzieckiem, pedagogika, edukacja integracyjna
Program Integracji Dolnego Śląska

więcej podobnych podstron