ActionScript
ActionScript – oparty na ECMAScripcie obiektowy język programowania, używany w Adobe Flash do sterowania animacjami oraz w Adobe Flex do tworzenia Rich Internet Application. HistoriaActionScript z obecnie stosowaną składnią pojawił się po raz pierwszy we Flashu 5, który w pełni umożliwiał programowanie we Flashu. Ta wersja ActionScriptu została nazwana ActionScript 1.0. Flash 6 (MX) dalej rozszerzył użyteczność środowiska programistycznego przez dodanie wielu wbudowanych funkcji i lepszą programistyczną kontrolę nad klipami. Flash 7 (MX 2004) wprowadził wersję ActionScript 2.0, która dodała takie funkcjonalności i cechy obiektowe jak: typowanie sztywne (ang. strong typing), jawne deklaracje klas (ang. explicit class declarations), dziedziczenie, interfejsy, ścisłe typowanie danych (ang. Strict Data Typing).
W ActionScriptcie 2.0, dodano funkcje obiektowe, takie jak deklaracje klas, dziedziczenie, hermetyzacja. Kod ActionScript jest zwykle pisany w środowisku programistycznym Flasha, które oferuje dynamiczną pomoc i podświetlanie składni. Kod jest zapisywany razem z animacją, w pliku .fla. Nierzadko stosuje się też import kodu z plików tekstowych, za pomocą polecenia W ActionScriptcie 2.0 mogą istnieć klasy, a pozycje należące do biblioteki (klipy) mogą być wiązane z klasą. Klasy są zawsze pisane w zewnętrznych plikach tekstowych o rozszerzeniu .as. Do czasu wydania Flash 8 kompilator był znany ze swojej powolności – kompilacja 100 klas mogła zająć nawet kilka minut. Obecnie problem ten już nie występuje. PrzykładyOto przykład skryptu wyświetlający tekst „Witaj świecie!” w oknie debugera: trace("Witaj świecie!");
Następny przykład przypisany obiektowi onClipEvent(load) {
this._alpha = 70;
}
onClipEvent(enterFrame) {
this._x += 2;
}
Ten sam kod dla obiektu movie_mc.alpha = .7;
movie_mc.addEventListener(Event.ENTER_FRAME, moveIt);
function moveIt(e:Event):void {
movie_mc.x = movie_mc.x + 2;
}
Wynika to z dużej obiektowości programowania w tym języku. ActionScript 3.0Jest to najnowsza wersja języka programowania aplikacji Flash. Firma Adobe postawiła w tym przypadku na szybkość i wydajność, optymalizując do granic możliwości nową wersję tego języka. Co za tym idzie, wprowadzono nowe restrykcje, dotyczące głównie deklaracji zmiennych czy funkcji, przerzucono niemal wszystkie zdarzenia na tzw. obiekty nasłuchujące ( //w AS2.0 niekonieczna jest deklaracja, jaki typ danych przechowuje zmienna:
var zmienna = "tutaj jestem łańcuchem tekstowym";
zmienna = 5; //tutaj już liczbą int
zmienna = -2.561; //tutaj liczbą float
//w AS3.0 deklaracja musi się odbyć ze ścisłym określeniem typu danych:
var zmienna:String = "łańcuch znaków";
// zmienna = 5; - wywoła błąd!
dzięki takim deklaracjom kod jest o wiele bardziej wydajny, bo FlashPlayer „wie”, czego się spodziewać po określonych obszarach pamięci. Duże zmiany są także w odbieraniu zdarzeń. I znów porównanie: /* Na scenie mamy umieszczony przycisk o nazwie przycisk_mc.
Jednak przechwycenie jego kliknięcia odbiera się inaczej w AS2 i AS3*/
//AS2.0:
przycisk_mc.onRelease = function() {
trace("Przycisk kliknięty");
}
//AS3.0:
przycisk_mc.addEventListener(MouseEvent.CLICK, przyciskKlikniety);
function przyciskKlikniety(event:Event):void {
trace("Przycisk kliknięty");
}
Obie te funkcje wykonują to samo. Warto jednak zwrócić uwagę na bardzo precyzyjne określenie typu parametrów przyjmowanych do funkcji w AS3.0 (jest to jeden parametr event typu Zobacz teżLinki zewnętrzne
Kontrola autorytatywna (funkcyjny język programowania): |