Omówienie funkcji trójwymiarowych programu Flash Player i środowiska wykonawczego AIRFlash Player 10 i nowsze wersje, Adobe AIR 1.5 i nowsze wersje W wersjach programu Flash Player wcześniejszych niż Flash Player 10 i wersjach środowiska Adobe AIR wcześniejszych niż Adobe AIR 1.5 obiekty wyświetlane mają dwie właściwości służące do określania położenia na płaszczyźnie 2D: x i y. Począwszy od wersji 10 programu Flash Player i wersji 1.5 środowiska AIR każdy obiekt wyświetlany w języku ActionScript ma właściwość z umożliwiającą określenie jego położenia wzdłuż osi z. Mechanizm ten z reguły używany jest do odwzorowania głębokości lub odległości. W programie Flash Player 10 i w środowisku Adobe AIR 1.5 wprowadzono obsługę efektów 3D. Jednak obiekty wyświetlane są ze swojej natury płaskie. Każdy obiekt wyświetlany, taki jak MovieClip lub Sprite, jest ostatecznie renderowany na jednej płaszczyźnie dwuwymiarowej. Funkcje 3D umożliwiają umieszczanie, przemieszczanie, obracanie i wykonywanie innych transformacji tych obiektów planarnych we wszystkich trzech wymiarach. Pozwalają także na zarządzanie punktami w przestrzeni 3D oraz przekształcanie ich na pary współrzędnych dwuwymiarowych x,y, co umożliwia rzutowanie obiektów 3D na płaszczyznę 2D. Funkcje te pozwalają na symulowanie wielu różnych operacji i efektów w przestrzeni trójwymiarowej. W środowisku ActionScript używany jest specyficzny trójwymiarowy układ współrzędnych. Wartość współrzędnej x na płaszczyźnie 2D w środowisku ActionScript rośnie w miarę przesuwania się w prawo po osi x, natomiast wartość współrzędnej y rośnie w miarę przesuwania się w dół po osi y. W trójwymiarowym układzie współrzędnych konwencje te zostają zachowane, a dodatkowo pojawia się oś z, na której wartości współrzędnych rosną w miarę oddalania się od punktu obserwacji. ![]() Dodatnie kierunki osi x, y i z w trójwymiarowym układzie współrzędnych środowiska ActionScript.
Uwaga: Należy pamiętać, że w programie Flash Player i środowisku AIR trzeci wymiar zawsze jest reprezentowany w postaci warstw. Oznacza to, że jeśli obiekt A jest przed obiektem B na liście wyświetlania, program Flash Player lub środowisko AIR zawsze renderuje obiekt A nad obiektem B (A zasłania B), niezależnie od wartości współrzędnych z obu tych obiektów. Aby wyeliminować konflikt między kolejnością obiektów na liście wyświetlania a kolejnością wynikającą ze współrzędnych z, należy skorzystać z metody transform.getRelativeMatrix3D() w celu zapisania, a następnie zmiany kolejności warstw obiektów wyświetlanych 3D. Więcej informacji zawiera sekcja Wykorzystanie obiektów Matrix3D do zmiany kolejności wyświetlania.
Poniższe klasy w języku ActionScript obsługują nowe funkcje związane z pracą w 3D:
Można wyróżnić dwie strategie symulowania trójwymiarowości w języku ActionScript:
|
|