Paket | flash.display |
Klasse | public class Stage3D |
Vererbung | Stage3D EventDispatcher Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Stage3D bietet eine leistungsstarke Renderoberfläche für Inhalt, der mit der Context3D
-Klasse gerendert wird. Diese Oberfläche verwendet die Grafikprozessoreinheit (GPU), wenn dies möglich ist. Die Laufzeitbühne stellt eine feste Anzahl von Stage3D
-Objekten bereit. Die Anzahl der Instanzen variiert je nach Gerätetyp. Desktopcomputer stellen normalerweise vier Stage3D-Instanzen bereit.
Inhalte, die auf dem Stage3D
-Viewport gezeichnet werden, werden mit anderen sichtbaren Grafikobjekten in einer vordefinierten Reihenfolge zusammengesetzt. Die am weitesten entfernten sind alle StageVideo
-Oberflächen. Stage3D
kommt als Nächstes, mit traditionellen Flash-Anzeigeobjektinhalten, die zuletzt, über allen anderen, dargestellt werden. StageVideo- und Stage3D-Ebenen werden ohne Transparenz gerendert; somit verdeckt ein Viewport alle anderen Stage3D- oder StageVideo-Viewports, die sich darunter befinden. Anzeigelisteninhalte werden mit Transparenz gerendert.
Hinweis: Sie können die visible
-Eigenschaft eines Stage3D-Objekts verwenden, um es vorübergehend von der Anzeige zu entfernen, zum Beispiel wenn ein Video mit der StageVideo-Klasse abgespielt wird.
Ein Stage3D
-Objekt wird von der Player-Bühne unter Verwendung der stage3Ds
-Mitglieder abgerufen. Verwenden Sie die Stage3D-Instanz, um einen zugeordneten Renderkontext anzufordern und die Anzeige auf der Laufzeitbühne zu positionieren.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
context3D : Context3D [schreibgeschützt]
Das Context3D-Objekt, das dieser Stage3D-Instanz zugeordnet ist. | Stage3D | ||
visible : Boolean
Gibt an, ob dieses Stage3D-Objekt sichtbar ist. | Stage3D | ||
x : Number
Die horizontale Koordinate der Stage3D-Anzeige auf der Bühne in Pixel. | Stage3D | ||
y : Number
Die vertikale Koordinate der Stage3D-Anzeige auf der Bühne in Pixel. | Stage3D |
Methode | Definiert von | ||
---|---|---|---|
Stage3D() | Stage3D | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Fordert die Erstellung eines Context3D-Objekts für diese Stage3D-Instanz an. | Stage3D | ||
Fordert die Erstellung eines Context3D-Objekts für diese Stage3D-Instanz an. | Stage3D | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
Wird abgesetzt, wenn ein Renderkontext erstellt wird. | Stage3D | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
Wird abgesetzt, wenn die Anforderung eines Renderkontexts fehlschlägt. | Stage3D |
context3D | Eigenschaft |
context3D:Context3D
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Das Context3D-Objekt, das dieser Stage3D-Instanz zugeordnet ist.
Diese Eigenschaft ist anfänglich null
. Um die Context3D-Instanz für dieses Stage3D-Objekt zu erstellen, fügen Sie einen Ereignis-Listener für das context3DCreate
-Ereignis hinzu und rufen Sie dann die requestContext3D
-Methode auf. Der Listener wird aufgerufen, nachdem das Context3D-Objekt erstellt wurde.
Implementierung
public function get context3D():Context3D
Verwandte API-Elemente
visible | Eigenschaft |
visible:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Gibt an, ob dieses Stage3D-Objekt sichtbar ist.
Verwenden Sie diese Eigenschaft, um ein Stage3D-Objekt vorübergehen auf der Bühne auszublenden. Diese Eigenschaft hat standardmäßig den Wert true
.
Implementierung
public function get visible():Boolean
public function set visible(value:Boolean):void
x | Eigenschaft |
x:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Die horizontale Koordinate der Stage3D-Anzeige auf der Bühne in Pixel.
Diese Eigenschaft hat standardmäßig den Wert null.
Implementierung
public function get x():Number
public function set x(value:Number):void
Auslöser
ArgumentError — , wenn die Position nicht innerhalb des Bereichs [-8191..8191] liegt.
|
y | Eigenschaft |
y:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Die vertikale Koordinate der Stage3D-Anzeige auf der Bühne in Pixel.
Diese Eigenschaft hat standardmäßig den Wert null.
Implementierung
public function get y():Number
public function set y(value:Number):void
Auslöser
ArgumentError — , wenn die Position nicht innerhalb des Bereichs [-8191..8191] liegt.
|
Stage3D | () | Konstruktor |
public function Stage3D()
requestContext3D | () | Methode |
public function requestContext3D(context3DRenderMode:String = "auto", profile:String = "baseline"):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Fordert die Erstellung eines Context3D-Objekts für diese Stage3D-Instanz an.
Fügen Sie einen Ereignis-Listener für das context3DCreate
-Ereignis hinzu, bevor Sie diese Funktion aufrufen. Andernfalls gibt die Laufzeitumgebung einen Fehler aus.
Wichtiger Hinweis zu Geräteverlusten: Ein GPU-Geräteverlust tritt auf, wenn die GPU-Hardware der Anwendung nicht mehr zur Verfügung steht. Das Context3D-Objekt wird verworfen, wenn ein Geräteverlust der GPU auftritt. Ein GPU-Geräteverlust kann aus verschiedenen Gründen vorkommen, zum Beispiel wenn ein mobiles Gerät keine Akkuenergie mehr hat oder wenn ein Windows-Gerät zum „Lock Screen“ wechselt. Wenn die GPU wieder verfügbar ist, erstellt die Laufzeitumgebung eine neue Context3D-Instanz und setzt ein weiteres context3DCreate
-Ereignis ab. Ihre Anwendung muss alle Elemente neu laden und den Renderkontextstatus zurücksetzen, wenn es zu einem Geräteverlust kommt.
Schreiben Sie Anwendungslogik so, dass die Möglichkeit von Geräteverlusten und Kontextneugenerierung einkalkuliert wird. Entfernen Sie den Listener für das context3DCreate
-Ereignis nicht. Führen Sie keine Aktionen in Reaktion auf das Ereignis aus, die in der Anwendung nicht wiederholt werden sollten. Fügen Sie zum Beispiel keine anonymen Funktionen hinzu, um Timer-Ereignisse zu verarbeiten, da diese nach einem Geräteverlust dupliziert würden. Um zu testen, wie Ihre Anwendung Geräteverluste verarbeitet, können Sie einen Geräteverlust simulieren, indem Sie die dispose()
-Methode des Context3D-Objekts aufrufen.
Das folgende Beispiel demonstriert, wie ein Context3D-Renderkontext angefordert wird:
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 ); }
Parameter
context3DRenderMode:String (default = "auto ") — Der Typ des anzufordernden Renderkontexts. Der Standard ist Context3DRenderMode.AUTO , wofür die Laufzeitumgebung einen hardwarebeschleunigten Kontext erstellt, falls möglich. Andernfalls wird auf Software zurückgegriffen. Verwenden Sie Context3DRenderMode.SOFTWARE , um einen Softwarerenderkontext anzufordern. Bei mobilen Geräten ist das Softwarerendering nicht verfügbar. Software-Rendering ist nur für Context3DProfile.BASELINE und Context3DProfile.BASELINE_CONSTRAINED verfügbar.
| |
profile:String (default = "baseline ") — (AIR 3.4 und höher) Gibt den Umfang an, in dem Flash Player weniger leistungsstarke GPUs unterstützt. Die Standardvorgabe ist Context3DProfile.BASELINE , was eine ähnliche Context3D -Instanz zurückgibt, wie die in früheren Versionen verwendete. Weitere Details zu verfügbaren Profilen finden Sie unter flash.display3D.Context3DProfile .
|
Ereignisse
context3DCreate: — Wird abgesetzt, wenn der angeforderte Renderkontext erfolgreich abgeschlossen wurde.
| |
error: — Wird abgesetzt, wenn der angeforderte Renderkontext nicht erstellt werden kann.
|
Auslöser
Error — wenn diesem Stage3D-Objekt keine Listener für das context3DCreate -Ereignis hinzugefügt wurden.
| |
ArgumentError — wenn diese Methode mit einem anderen context3DRenderMode erneut aufgerufen wird, bevor der vorherige Aufruf abgeschlossen wurde.
|
Verwandte API-Elemente
requestContext3DMatchingProfiles | () | Methode |
public function requestContext3DMatchingProfiles(profiles:Vector.<String>):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 12, AIR 4 |
Fordert die Erstellung eines Context3D-Objekts für diese Stage3D-Instanz an.
Fügen Sie einen Ereignis-Listener für das context3DCreate
-Ereignis hinzu, bevor Sie diese Funktion aufrufen. Andernfalls gibt die Laufzeitumgebung einen Fehler aus.
Wichtiger Hinweis zu Geräteverlusten: Ein GPU-Geräteverlust tritt auf, wenn die GPU-Hardware der Anwendung nicht mehr zur Verfügung steht. Das Context3D-Objekt wird verworfen, wenn ein Geräteverlust der GPU auftritt. Ein GPU-Geräteverlust kann aus verschiedenen Gründen vorkommen, zum Beispiel wenn ein mobiles Gerät keine Akkuenergie mehr hat oder wenn ein Windows-Gerät zum „Lock Screen“ wechselt. Wenn die GPU wieder verfügbar ist, erstellt die Laufzeitumgebung eine neue Context3D-Instanz und setzt ein weiteres context3DCreate
-Ereignis ab. Ihre Anwendung muss alle Elemente neu laden und den Renderkontextstatus zurücksetzen, wenn es zu einem Geräteverlust kommt.
Schreiben Sie Anwendungslogik so, dass die Möglichkeit von Geräteverlusten und Kontextneugenerierung einkalkuliert wird. Entfernen Sie den Listener für das context3DCreate
-Ereignis nicht. Führen Sie keine Aktionen in Reaktion auf das Ereignis aus, die in der Anwendung nicht wiederholt werden sollten. Fügen Sie zum Beispiel keine anonymen Funktionen hinzu, um Timer-Ereignisse zu verarbeiten, da diese nach einem Geräteverlust dupliziert würden. Um zu testen, wie Ihre Anwendung Geräteverluste verarbeitet, können Sie einen Geräteverlust simulieren, indem Sie die dispose()
-Methode des Context3D-Objekts aufrufen.
Das folgende Beispiel demonstriert, wie ein Context3D-Renderkontext angefordert wird:
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 );
Parameter
profiles:Vector.<String> — (AIR 3.4 und höher) ein Profilarray, das Entwickler in ihrem Flash-Programm verwenden möchten. Wenn ein Entwickler ein Profilarray an „Stage3D.requestContext3DMatchingProfiles“ weitergibt, erhält er eine Context3D, basierend auf dem Stufenprofil in diesem Array, gemäß seiner Hardwarefunktionen. Der Rendermodus ist auf „Automatisch“ eingestellt, sodass der Parameter ausgelassen wird.
|
Ereignisse
context3DCreate: — Wird abgesetzt, wenn der angeforderte Renderkontext erfolgreich abgeschlossen wurde.
| |
error: — Wird abgesetzt, wenn der angeforderte Renderkontext nicht erstellt werden kann. Wenn die Hardware nicht verfügbar ist, wird keine Software-context3d erstellt.
|
Auslöser
Error — wenn diesem Stage3D-Objekt keine Listener für das context3DCreate -Ereignis hinzugefügt wurden.
| |
ArgumentError — wenn diese Methode aufgerufen wird, bevor der vorherige Aufruf abgeschlossen wurde.
| |
ArgumentError — wenn das Element im Array nicht „flash.display3D.Context3DProfile“ ist.
|
Verwandte API-Elemente
context3DCreate | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.CONTEXT3D_CREATE
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Wird abgesetzt, wenn ein Renderkontext erstellt wird.
DieEvent.CONTEXT3D_CREATE
-Konstante definiert den Wert der type
-Eigenschaft eines context3Dcreate
-Ereignisobjekts. Dieses Ereignis wird nur von Stage3D-Objekten abgesetzt, entweder als Reaktion auf einen Aufruf von Stage3D.requestContext3D oder auf eine vom Betriebssystem ausgelöste Zurücksetzung des Context3D-Objekts, das an das Stage3D-Objekt gebunden ist. Untersuchen Sie die Stage3D.context3D-Eigenschaft, um das neu erstellte Context3D-Objekt abzurufen.
Verwandte API-Elemente
error | Ereignis |
flash.events.ErrorEvent
Eigenschaft ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 11, AIR 3 |
Wird abgesetzt, wenn die Anforderung eines Renderkontexts fehlschlägt.
Definiert den Wert der Eigenschafttype
eines error
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Objekt, bei dem der Netzwerkvorgang fehlschlägt. |
text | Der als Fehlermeldung anzuzeigende Text. |
Verwandte API-Elemente
Tue Jun 12 2018, 10:04 AM Z