Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
ActionScript - Wikipedia, wolna encyklopedia

ActionScript

Z Wikipedii

ActionScript - oparty na ECMAScript obiektowy język programowania, używany w Adobe Flash do sterowania animacjami i aplikacjami. Zarówno ActionScript, jak i JavaScript są oparte na podobnej składni, więc można je łatwo przekładać. Jednak model kliencki w tych językach jest całkiem odmienny: JavaScript steruje oknami, czy też formularzami, natomiast ActionScript klipami, polami tekstowymi i dźwiękami.

Spis treści

[edytuj] Historia

ActionScript z obecnie stosowaną składnią pojawił się po raz pierwszy we Flash 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).

  • Flash Player 2: pierwsza wersja z obsługą skryptów (m.in. gotoAndPlay, gotoAndStop, nextFrame i nextScene)
  • Flash Player 3: rozszerzone możliwości języka skryptowego z funkcją ładowania zewnętrznych plików SWF (loadMovie)
  • Flash Player 4: pierwszy Flash Player z pełną implementacją skryptów (pod nazwą Actions). Język skryptowy miał składnię w oparciu o ukośniki (ang. a slash based syntax) i obsługiwał pętle, konstrukcje warunkowe, zmienne i inne podstawowe cechy języków programowania
  • Flash Player 5: zawierał pierwszą wersję właściwego ActionScriptu. Used Prototype-based programming based on ECMAScript, umożliwiał w pełni programowanie w z użyciem paradygmatu proceduralnego i obiektowego
  • Flash Player 6: dodał między innymi model sterowania zdarzeniami i konstrukcję switch
  • Flash Player 7: pojawiły się nowe funkcje takie jak CSS text i usprawnienia wydajności. Kompilatory Adobe Flash wydane z Flash Player 7 obsługują ActionScript 2.0, jednak ActionScript 2.0 można kompilować skrośnie do ActionScript 1.0 byte-code, więc można go odtwarzać w Flash Player 6
  • Flash Player 8: Dalsze udoskonalenia ActionScript 2.0 przez dodanie nowych bibliotek klas z API for control bitmap data at run-time i umożliwienie ładowania plików (upload)
  • Flash Player 9 (wstępnie 8.5): wprowadzenie ActionScript 3.0 z nową maszyna wirtualną AVM2 (ActionScript Virtual Machine 2), która jest zgodna z poprzednią AVM1, dla zachowania zgodności ze skryptami z poprzednich wersji. Ważnym celem dla tej wersji Flash Playera było również usprawnienie wydajności.

W ActionScripcie 2.0, dodano funkcje obiektowe, takie jak deklaracje klas, dziedziczenie, enkapsulacja.

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 #include. Zwyczajowo pliki takie mają rozszerzenie .as, choć nie jest to powszechnie przyjęta konwencja.

W ActionScript 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.

[edytuj] Przykłady

Oto przykład skryptu wyświetlający tekst "Witaj świecie!" w oknie debugera:

trace("Witaj świecie!");

Następny przykład przypisany obiektowi MovieClip wewnątrz aplikacji Flash po jego załadowaniu ustawia jego przezroczystość na 70%, a następnie w każdej klatce filmu przesuwa jego położenie względem osi x o 2 piksele.

onClipEvent(load){
   this._alpha = 70;
}
onClipEvent(enterFrame){
   this._x += 2;
}

Ten sam kod dla obiektu MovieClip o nazwie movie_mc, napisany w ActionScript 3.0 będzie wyglądał tak:

movie_mc.alpha = .7;
movie_mc.addEventListener(Event.ENTER_FRAME, przesun);
function przesun(e:Event):void{
  movie_mc. = movie_mc.x + 2;
}

Wynika to z dużej obiektowości programowania w tym języku.

[edytuj] ActionScript 3.0

Jest 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 (EventListener), które w nowym wydaniu ActionScript nie są obiektami, ale funkcjami. Poniżej krótkie zestawienie podstawowych różnic pomiędzy AS2.0 oraz AS3.0.

//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 Event) oraz wartości przez nią zwracanych (w typ przypadku void - funkcja nie zwraca nic, przez co FlashPlayer nie oczekuje na rezultat). Takie restrykcje zdecydowanie przyspieszają działanie naszego filmu. Nawet jeżeli zmiany nie są widoczne przy jednym kliknięciu przycisku na scenie, to gdy funkcja taka jest wywoływana kilka tysięcy razy w pętli, różnicę zdecydowanie da się dostrzec.

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com