Pakket | flash.display |
Klasse | public class Stage3D |
Overerving | Stage3D EventDispatcher Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
Stage3D verschaft een hoogwaardig renderingoppervlak voor inhoud die is gerenderd met de klasseContext3D
. Dit oppervlak gebruikt, waar mogelijk, de GPU (Graphics Processing Unit). Het runtime-werkgebied bevat een vast aantal Stage3D
-objecten. Het aantal instanties varieert per type apparaat. Desktop-pc's verschaffen doorgaans vier Stage3D-instanties.
Inhoud die wordt getekend in de Stage3D
-viewport wordt in een vooraf gedefinieerde volgorde samengesteld met andere zichtbare grafische objecten. De verst verwijderde zijn alle StageVideo
-oppervlakken. Vervolgens komt Stage3D
, en wordt de traditionele Flash-inhoud van weergaveobjecten als laatste gerenderd, bovenop alle andere inhoud. StageVideo- en Stage3D-lagen worden zonder transparantie gerenderd, en dus bedekt een viewport alle eventuele onderliggende Stage3D- of StageVideo-viewports volledig. De inhoud van de weergavelijst wordt met transparantie gerenderd.
Opmerking: u kunt de eigenschap visible
van een Stage3D-object gebruiken om het object tijdelijk uit de weergave te verwijderen, bijvoorbeeld wanneer een video wordt afgespeeld met gebruik van de StageVideo-klasse.
Een Stage3D
-object wordt opgehaald uit het Player-werkgebied met behulp van het Stage3D
-lid. Met de Stage3D-instantie kunt u een verwante renderingcontext aanvragen en de weergave in het werkgebied van de runtime plaatsen.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
context3D : Context3D [alleen-lezen]
Het aan deze Stage3D-instantie gekoppelde Context3D-object. | Stage3D | ||
visible : Boolean
Geeft aan of dit Stage3D-object zichtbaar is. | Stage3D | ||
x : Number
De horizontale coördinaat van de Stage3D-weergave in het werkgebied, uitgedrukt in pixels. | Stage3D | ||
y : Number
De verticale coördinaat van de Stage3D-weergave in het werkgebied, uitgedrukt in pixels. | Stage3D |
Methode | Gedefinieerd door | ||
---|---|---|---|
Stage3D() | Stage3D | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Het maken van een Context3D-object aanvragen voor deze Stage3D-instantie. | Stage3D | ||
Het maken van een Context3D-object aanvragen voor deze Stage3D-instantie. | Stage3D | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
Gebeurtenis | Overzicht | Gedefinieerd door | ||
---|---|---|---|---|
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de besturingssysteemfocus krijgt en actief wordt. | EventDispatcher | |||
Wordt verzonden wanneer een renderingcontext is gemaakt. | Stage3D | |||
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de systeemfocus verliest en inactief wordt. | EventDispatcher | |||
Wordt verzonden wanneer een verzoek om een renderingcontext mislukt. | Stage3D |
context3D | eigenschap |
context3D:Context3D
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
Het aan deze Stage3D-instantie gekoppelde Context3D-object.
Deze eigenschap is aanvankelijk null
. U kunt de Context3D-instantie voor dit Stage3D-object maken door een gebeurtenislistener toe te voegen voor de gebeurtenis context3DCreate
en vervolgens de methode requestContext3D
aan te roepen. De listener wordt aangeroepen zodra het Context3D-object is gemaakt.
Implementatie
public function get context3D():Context3D
Verwante API-elementen
visible | eigenschap |
visible:Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
Geeft aan of dit Stage3D-object zichtbaar is.
Met deze eigenschap kunt u een Stage3D-object tijdelijk verbergen in het werkgebied. Deze eigenschap is standaard ingesteld op true
.
Implementatie
public function get visible():Boolean
public function set visible(value:Boolean):void
x | eigenschap |
x:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
De horizontale coördinaat van de Stage3D-weergave in het werkgebied, uitgedrukt in pixels.
Deze eigenschap is standaard ingesteld op nul.
Implementatie
public function get x():Number
public function set x(value:Number):void
Gegenereerde uitzondering
ArgumentError — als de positie niet in het interval [-8191..8191] is.
|
y | eigenschap |
y:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
De verticale coördinaat van de Stage3D-weergave in het werkgebied, uitgedrukt in pixels.
Deze eigenschap is standaard ingesteld op nul.
Implementatie
public function get y():Number
public function set y(value:Number):void
Gegenereerde uitzondering
ArgumentError — als de positie niet in het interval [-8191..8191] is.
|
Stage3D | () | Constructor |
public function Stage3D()
requestContext3D | () | methode |
public function requestContext3D(context3DRenderMode:String = "auto", profile:String = "baseline"):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
Het maken van een Context3D-object aanvragen voor deze Stage3D-instantie.
Voeg een gebeurtenislistener toe voor de gebeurtenis context3DCreate
voordat u deze functie aanroept. Als u dat niet doet, genereert de runtime een uitzondering.
Belangrijke opmerking met betrekking tot apparaatverlies: er treedt GPU-apparaatverlies op wanneer de GPU-hardware niet langer ter beschikking staat van de toepassing. Het Context3D-object wordt verwijderd wanneer het GPU-apparaat verloren gaat. Er kunnen verschillende redenen zijn voor GPU-apparaatverlies, zo kan de batterij van een mobiel apparaat bijvoorbeeld leegraken of kan het ''vergrendelingsscherm'' van een Windows-apparaat verschijnen. Wanneer de GPU weer beschikbaar is, maakt de runtime een nieuwe Context3D-instantie en wordt nog een context3DCreate
-gebeurtenis verzonden. Wanneer apparaatverlies optreedt, dient uw toepassing alle elementen opnieuw te laden en de status van de renderingcontext opnieuw in te stellen.
Houd bij het ontwerpen van uw toepassingslogica rekening met het afhandelen van mogelijk apparaatverlies en het opnieuw genereren van de context. Verwijder de context3DCreate
-gebeurtenislistener niet. Voer geen handelingen uit in reactie op de gebeurtenis die niet herhaald dient te worden in de toepassing. Voeg bijvoorbeeld geen anonieme functies toe om timergebeurtenissen af te handelen, aangezien deze na apparaatverlies gedupliceerd zouden worden. U kunt testen hoe uw toepassing apparaatverlies afhandelt door apparaatverlies te simuleren. Roep hiertoe de methode dispose()
van het Context3D-object aan.
In het volgende voorbeeld wordt geïllustreerd hoe u een Context3D-renderingcontext kunt aanvragen:
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 ); }
Parameters
context3DRenderMode:String (default = "auto ") — Het type van de renderingcontext dat moet worden aangevraagd. De standaardwaarde is Context3DRenderMode.AUTO waarvoor de runtime, indien mogelijk, een context met hardwareversnelling maakt. Zo niet, dan wordt er teruggevallen op software. Gebruik Context3DRenderMode.SOFTWARE om een context voor softwarerendering aan te vragen. Softwarerendering is niet beschikbaar op mobiele apparaten. Softwarerendering is alleen beschikbaar voor Context3DProfile.BASELINE en Context3DProfile.BASELINE_CONSTRAINED .
| |
profile:String (default = "baseline ") — (AIR 3.4 en hoger) Geeft de mate op waarin Flash Player GPU's op een lager niveau ondersteunt. De standaardwaarde is Context3DProfile.BASELINE , die een Context3D -instantie retourneert die gelijkaardig is aan de instantie die in vorige releases is gebruikt. Zie flash.display3D.Context3DProfile voor meer informatie over alle beschikbare profielen.
|
Gebeurtenissen
context3DCreate: — Wordt verzonden wanneer de aangevraagde renderingcontext is voltooid.
| |
error: — Wordt verzonden wanneer de aangevraagde renderingcontext niet kan worden gemaakt.
|
Gegenereerde uitzondering
Error — Als er geen listeners voor de context3DCreate -gebeurtenis aan dit Stage3D-object zijn toegevoegd.
| |
ArgumentError — als deze methode weer wordt aangeroepen met een andere context3DRenderMode voordat de vorige aanroep is voltooid.
|
Verwante API-elementen
requestContext3DMatchingProfiles | () | methode |
public function requestContext3DMatchingProfiles(profiles:Vector.<String>):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 12, AIR 4 |
Het maken van een Context3D-object aanvragen voor deze Stage3D-instantie.
Voeg een gebeurtenislistener toe voor de gebeurtenis context3DCreate
voordat u deze functie aanroept. Als u dat niet doet, genereert de runtime een uitzondering.
Belangrijke opmerking met betrekking tot apparaatverlies: er treedt GPU-apparaatverlies op wanneer de GPU-hardware niet langer ter beschikking staat van de toepassing. Het Context3D-object wordt verwijderd wanneer het GPU-apparaat verloren gaat. Er kunnen verschillende redenen zijn voor GPU-apparaatverlies, zo kan de batterij van een mobiel apparaat bijvoorbeeld leegraken of kan het ''vergrendelingsscherm'' van een Windows-apparaat verschijnen. Wanneer de GPU weer beschikbaar is, maakt de runtime een nieuwe Context3D-instantie en wordt nog een context3DCreate
-gebeurtenis verzonden. Wanneer apparaatverlies optreedt, dient uw toepassing alle elementen opnieuw te laden en de status van de renderingcontext opnieuw in te stellen.
Houd bij het ontwerpen van uw toepassingslogica rekening met het afhandelen van mogelijk apparaatverlies en het opnieuw genereren van de context. Verwijder de context3DCreate
-gebeurtenislistener niet. Voer geen handelingen uit in reactie op de gebeurtenis die niet herhaald dient te worden in de toepassing. Voeg bijvoorbeeld geen anonieme functies toe om timergebeurtenissen af te handelen, aangezien deze na apparaatverlies gedupliceerd zouden worden. U kunt testen hoe uw toepassing apparaatverlies afhandelt door apparaatverlies te simuleren. Roep hiertoe de methode dispose()
van het Context3D-object aan.
In het volgende voorbeeld wordt geïllustreerd hoe u een Context3D-renderingcontext kunt aanvragen:
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 );
Parameters
profiles:Vector.<String> — (AIR 3.4 en hoger) Een profielarray die de ontwikkelaar in zijn of haar Flash-programma wil gebruiken. Wanneer de ontwikkelaar de profielarray doorgeeft aan Stage3D.requestContext3DMatchingProfiles, ontvangt hij een Context3D op basis van het profiel van het hoogste niveau in die array volgens het hardwarevermogen. De renderMode wordt ingesteld op AUTO, dus de parameter wordt weggelaten.
|
Gebeurtenissen
context3DCreate: — Wordt verzonden wanneer de aangevraagde renderingcontext is voltooid.
| |
error: — Wordt verzonden wanneer de aangevraagde renderingcontext niet kan worden gemaakt. Als de hardware niet beschikbaar is, wordt er geen software-context3d gemaakt.
|
Gegenereerde uitzondering
Error — Als er geen listeners voor de context3DCreate -gebeurtenis aan dit Stage3D-object zijn toegevoegd.
| |
ArgumentError — Als deze methode wordt aangeroepen voordat de vorige aanroep is voltooid.
| |
ArgumentError — Als het item in de array geen flash.display3D.Context3DProfile is.
|
Verwante API-elementen
context3DCreate | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.CONTEXT3D_CREATE
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
Wordt verzonden wanneer een renderingcontext is gemaakt.
De constanteEvent.CONTEXT3D_CREATE
definieert de waarde van de eigenschap type
van een context3Dcreate
-gebeurtenisobject. Deze gebeurtenis wordt alleen door Stage3D-objecten gebruikt als antwoord op een aanroep van Stage3D.requestContext3D of als antwoord op een door het besturingssysteem geactiveerde reset van de Context3D die is gekoppeld aan het Stage3D-object. Controleer de eigenschap Stage3D.context3D om het zojuist gemaakt Context3D-object te krijgen.
Verwante API-elementen
error | Gebeurtenis |
flash.events.ErrorEvent
eigenschap ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 11, AIR 3 |
Wordt verzonden wanneer een verzoek om een renderingcontext mislukt.
Definieert de waarde van de eigenschaptype
van een gebeurtenisobject error
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het object ondervindt een fout in een netwerkbewerking. |
text | Tekst die moet worden weergegeven als foutbericht. |
Verwante API-elementen
Wed Jun 13 2018, 11:42 AM Z