Pakiet | flash.display |
Klasa | public class Stage3D |
Dziedziczenie | Stage3D EventDispatcher Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Klasa Stage3D dostarcza wydajną powierzchnię renderowania dla zawartości renderowanej przy użyciu klasy Context3D
. Jeśli to możliwe, powierzchnia ta korzysta z procesora graficznego (GPU). Stół montażowy środowiska wykonawczego udostępnia określoną liczbę obiektów Stage3D
. Liczba tych wystąpień jest zależna od typu urządzenia. W przypadku komputerów dostępne są zazwyczaj cztery wystąpienia obiektu Stage3D.
Zawartość rysowana w widoku Stage3D
jest łączona z innymi widocznymi obiektami graficznymi w predefiniowanej kolejności. Najdalsze są wszystkie powierzchnie StageVideo
. Następne w kolejności są obiekty Stage3D
, a zawartość tradycyjnych obiektów ekranowych Flash jest renderowana na końcu, na wierzchu względem wszystkich innych. Warstwy StageVideo i Stage3D są renderowane bez przezroczystości. Oznacza to, że widok całkowicie zasłania wszystkie inne widoki Stage3D oraz StageVideo znajdujące się pod nim. Zawartość listy wyświetlania jest renderowana przy użyciu przezroczystości.
Uwaga: za pomocą właściwości visible
obiektu Stage3D można tymczasowo wyłączyć wyświetlanie tego obiektu, na przykład podczas odtwarzania wideo przy użyciu klasy StageVideo.
Obiekt Stage3D
jest pobierany ze stołu montażowego odtwarzacza za pomocą jego elementu stage3Ds
. Obiekt Stage3D służy do generowania żądania utworzenia powiązanego kontekstu renderowania i ustalania położenia ekranu na stole montażowym środowiska wykonawczego.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
context3D : Context3D [tylko do odczytu]
Obiekt Context3D skojarzony z danym wystąpieniem klasy Stage3D. | Stage3D | ||
visible : Boolean
Określa, kiedy dany obiekt Stage3D jest widoczny. | Stage3D | ||
x : Number
Współrzędna pozioma wyświetlania obiektu Stage3D na stole montażowym wyrażona w pikselach. | Stage3D | ||
y : Number
Współrzędna pionowa wyświetlania obiektu Stage3D na stole montażowym wyrażona w pikselach. | Stage3D |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Stage3D() | Stage3D | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Generuje żądanie utworzenia obiektu Context3D dla danego wystąpienia obiektu Stage3D. | Stage3D | ||
Generuje żądanie utworzenia obiektu Context3D dla danego wystąpienia obiektu Stage3D. | Stage3D | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
Zdarzenie | Podsumowanie | Zdefiniowane przez | ||
---|---|---|---|---|
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny. | EventDispatcher | |||
Wywoływane, gdy kontekst renderowania zostaje utworzony. | Stage3D | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Wywoływane, gdy żądanie utworzenia kontekstu renderowania nie powiedzie się. | Stage3D |
context3D | właściwość |
context3D:Context3D
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Obiekt Context3D skojarzony z danym wystąpieniem klasy Stage3D.
Ta właściwość początkowo ma wartość null
. Aby utworzyć wystąpienie klasy Context3D dla danego obiektu Stage3D, należy dodać detektor zdarzeń context3DCreate
, a następnie wywołać metodę requestContext3D
. Detektor zostaje wywołany w momencie utworzenia obiektu Context3D.
Implementacja
public function get context3D():Context3D
Powiązane elementy interfejsu API
visible | właściwość |
visible:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Określa, kiedy dany obiekt Stage3D jest widoczny.
Ta właściwość służy do tymczasowego ukrywania obiektu Stage3D na stole montażowym. Ta właściwość ma domyślnie wartość true
.
Implementacja
public function get visible():Boolean
public function set visible(value:Boolean):void
x | właściwość |
x:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Współrzędna pozioma wyświetlania obiektu Stage3D na stole montażowym wyrażona w pikselach.
Ta właściwość ma domyślnie wartość 0.
Implementacja
public function get x():Number
public function set x(value:Number):void
Zgłasza
ArgumentError — Jeśli współrzędna położenia wykracza poza zakres domknięty od –8191 do 8191.
|
y | właściwość |
y:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Współrzędna pionowa wyświetlania obiektu Stage3D na stole montażowym wyrażona w pikselach.
Ta właściwość ma domyślnie wartość 0.
Implementacja
public function get y():Number
public function set y(value:Number):void
Zgłasza
ArgumentError — Jeśli współrzędna położenia wykracza poza zakres domknięty od –8191 do 8191.
|
Stage3D | () | Konstruktor |
public function Stage3D()
requestContext3D | () | metoda |
public function requestContext3D(context3DRenderMode:String = "auto", profile:String = "baseline"):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Generuje żądanie utworzenia obiektu Context3D dla danego wystąpienia obiektu Stage3D.
Przed wywołaniem tej funkcji należy dodać detektor zdarzeń context3DCreate
. W przeciwnym wypadku środowisko wykonawcze wygeneruje wyjątek.
Ważna uwaga dotycząca utraty urządzenia: Utrata urządzenia GPU występuje, gdy urządzenie GPU staje się niedostępne dla aplikacji. W momencie utraty urządzenia GPU obiekt Context3D zostaje zwolniony. Utrata urządzenia GPU może wystąpić z różnych powodów, na przykład w sytuacji rozładowania baterii urządzenia przenośnego lub zablokowania ekranu urządzenia z systemem Windows. Gdy procesor graficzny będzie znowu dostępny, środowisko wykonawcze utworzy nowe wystąpienie klasy Context3D i wywoła kolejne zdarzenie context3DCreate
. Aplikacja musi ponownie wczytać wszystkie zasoby i wyzerować stan kontekstu renderowania każdorazowo w przypadku utraty urządzenia.
Należy zaprojektować logikę aplikacji w taki sposób, aby obsługiwała możliwość utraty urządzenia i ponowne generowanie kontekstu. Nie należy usuwać detektora zdarzeń context3DCreate
. Nie należy przeprowadzać operacji w odpowiedzi na zdarzenie, które nie powinno powtarzać się w danej aplikacji. Nie należy na przykład dodawać funkcji anonimowych do obsługi zdarzeń czasomierzy, ponieważ po utracie urządzenia zostaną one powielone. Aby przetestować obsługę utraty urządzenia przez aplikację, można przeprowadzić symulację utraty urządzenia, wywołując metodę dispose()
obiektu Context3D.
Poniższy przykład ilustruje sposób generowania żądania utworzenia kontekstu renderowania Context3d.
if( stage.stage3Ds.length > 0 ) { var stage3D:Stage3D = stage.stage3Ds[0]; stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler ); stage3D.requestContext3D( ); } function myContext3DHandler ( event : Event ) : void { var targetStage3D : Stage3D = event.target as Stage3D; InitAll3DResources( targetStage3D.context3D ); StartRendering( targetStage3D.context3D ); }
Parametry
context3DRenderMode:String (default = "auto ") — Typ kontekstu renderowania, który ma zostać utworzony. Domyślna wartość to ContextDRenderMode.AUTO , która powoduje (jeśli jest to możliwe) utworzenie kontekstu z przyspieszaniem sprzętowym, a w każdym innym przypadku używanie renderowania programowego. Użycie wartości Context3DRenderMode.SOFTWARE powoduje wygenerowanie żądania utworzenia programowego kontekstu renderowania. Renderowanie programowe nie jest dostępne w przypadku urządzeń przenośnych. Renderowanie programowe jest dostępne tylko w przypadku trybów Context3DProfile.BASELINE i Context3DProfile.BASELINE_CONSTRAINED .
| |
profile:String (default = "baseline ") — (AIR 3.4 i nowsze wersje) Określa stopień obsługi GPU o niższej wydajności przez program Flash Player. Wartością domyślną jest Context3DProfile.BASELINE , która zwraca obiekt Context3D podobny do używanych we wcześniejszych wersjach. Szczegóły wszystkich dostępnych profilów: flash.display3D.Context3DProfile .
|
Zdarzenia
context3DCreate: — Wywoływane, gdy żądany kontekst renderowania zostaje ukończony pomyślnie.
| |
error: — Wywoływane, gdy nie można utworzyć żądanego kontekstu renderowania.
|
Zgłasza
Error — Jeśli nie dodano żadnego detektora zdarzeń context3DCreate do tego obiektu Stage3D.
| |
ArgumentError — Jeśli ta metoda zostaje wywołana ponownie za pomocą innego obiektu context3DRenderMode przed zakończeniem poprzedniego wywołania.
|
Powiązane elementy interfejsu API
requestContext3DMatchingProfiles | () | metoda |
public function requestContext3DMatchingProfiles(profiles:Vector.<String>):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 12, AIR 4 |
Generuje żądanie utworzenia obiektu Context3D dla danego wystąpienia obiektu Stage3D.
Przed wywołaniem tej funkcji należy dodać detektor zdarzeń context3DCreate
. W przeciwnym wypadku środowisko wykonawcze wygeneruje wyjątek.
Ważna uwaga dotycząca utraty urządzenia: Utrata urządzenia GPU występuje, gdy urządzenie GPU staje się niedostępne dla aplikacji. W momencie utraty urządzenia GPU obiekt Context3D zostaje zwolniony. Utrata urządzenia GPU może wystąpić z różnych powodów, na przykład w sytuacji rozładowania baterii urządzenia przenośnego lub zablokowania ekranu urządzenia z systemem Windows. Gdy procesor graficzny będzie znowu dostępny, środowisko wykonawcze utworzy nowe wystąpienie klasy Context3D i wywoła kolejne zdarzenie context3DCreate
. Aplikacja musi ponownie wczytać wszystkie zasoby i wyzerować stan kontekstu renderowania każdorazowo w przypadku utraty urządzenia.
Należy zaprojektować logikę aplikacji w taki sposób, aby obsługiwała możliwość utraty urządzenia i ponowne generowanie kontekstu. Nie należy usuwać detektora zdarzeń context3DCreate
. Nie należy przeprowadzać operacji w odpowiedzi na zdarzenie, które nie powinno powtarzać się w danej aplikacji. Nie należy na przykład dodawać funkcji anonimowych do obsługi zdarzeń czasomierzy, ponieważ po utracie urządzenia zostaną one powielone. Aby przetestować obsługę utraty urządzenia przez aplikację, można przeprowadzić symulację utraty urządzenia, wywołując metodę dispose()
obiektu Context3D.
Poniższy przykład ilustruje sposób generowania żądania utworzenia kontekstu renderowania Context3d.
if( stage.stage3Ds.length > 0 ) { var stage3D:Stage3D = stage.stage3Ds[0]; stage3D.addEventListener( Event.CONTEXT3D_CREATE, myContext3DHandler ); stage3D.requestContext3DMatchingProfiles(Vector.<string>([Context3DProfile.BASELINE, Context3DProfile.BASELINE_EXTENDED])); } function myContext3DHandler ( event : Event ) : void { var targetStage3D : Stage3D = event.target as Stage3D; if(targetStage3D.context3D.profile.localeCompare(Context3DProfile.BASELINE) == 0) { InitAll3DResources( targetStage3D.context3D ); } StartRendering( targetStage3D.context3D );
Parametry
profiles:Vector.<String> — (AIR 3.4 i nowsze wersje) Tablice profilów, których programista chce używać w programie Flash. Gdy programista przekaże tablicę profilów do metody Stage3D.requestContext3DMatchingProfiles, uzyska w tablicy obiekt Context3D oparty na profilu wysokiego poziomu zgodnym z możliwościami sprzętu. Parametr rendermode (tryb renderowania) jest ustawiony na AUTO, dlatego ten parametr jest pomijany.
|
Zdarzenia
context3DCreate: — Wywoływane, gdy żądany kontekst renderowania zostaje ukończony pomyślnie.
| |
error: — Wywoływane, gdy nie można utworzyć żądanego kontekstu renderowania. Jeśli sprzęt nie będzie dostępny, nie zostanie utworzony programowy obiekt Context3D.
|
Zgłasza
Error — Jeśli nie dodano żadnego detektora zdarzeń context3DCreate do tego obiektu Stage3D.
| |
ArgumentError — Jeśli ta metoda zostanie wywołana przed ukończeniem poprzedniego wywołania.
| |
ArgumentError — Jeśli pozycja w tablicy jest inna niż flash.display3D.Context3DProfile.
|
Powiązane elementy interfejsu API
context3DCreate | Zdarzenie |
flash.events.Event
właściwość Event.type =
flash.events.Event.CONTEXT3D_CREATE
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Wywoływane, gdy kontekst renderowania zostaje utworzony.
StałaEvent.CONTEXT3D_CREATE
definiuje wartość właściwości type
obiektu zdarzenia context3Dcreate
. To zdarzenie jest wywoływane tylko przez obiekty Stage3D w przypadku wywołania metody Stage3D.requestContext3D lub w sytuacji, gdy system operacyjny spowoduje wyzerowanie obiektu Context3D powiązanego z obiektem Stage3D. Aby uzyskać nowo utworzony obiekt Context3D, należy sprawdzić właściwość Stage3D.context3D.
Powiązane elementy interfejsu API
error | Zdarzenie |
flash.events.ErrorEvent
właściwość ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3 |
Wywoływane, gdy żądanie utworzenia kontekstu renderowania nie powiedzie się.
Definiuje wartość właściwościtype
obiektu zdarzenia error
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt, w którym wystąpiło niepowodzenie operacji sieciowej. |
text | Tekst, który ma być wyświetlany w charakterze komunikatu o błędzie. |
Powiązane elementy interfejsu API
Tue Jun 12 2018, 12:06 PM Z