패키지 | flash.display |
클래스 | public class Stage3D |
상속 | Stage3D EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11, AIR 3 |
Stage3D는 Context3D
클래스를 사용하여 렌더링된 내용을 위한 고성능 렌더링 표면을 제공합니다. 가능한 경우 이 표면에서는 GPU(그래픽 처리 장치)가 사용됩니다. 런타임 스테이지는 고정된 수의 Stage3D
객체를 제공합니다. 인스턴스 수는 장치 유형별로 다릅니다. 일반적으로 데스크톱 컴퓨터는 네 개의 Stage3D 인스턴스를 제공합니다.
Stage3D
뷰포트에 그려진 내용은 미리 정의된 순서에 따라 다른 시각적 그래픽 객체와 합성됩니다. 가장 멀게는 모든 StageVideo
표면이 포함됩니다. Stage3D
는 다른 모든 항목 위에서 마지막으로 렌더링되는 일반 Flash 표시 객체 내용과 함께 그 다음에 옵니다. StageVideo 및 Stage3D 레이어는 투명도 없이 렌더링되므로 뷰포트가 해당 뷰포트 아래에 있는 다른 모든 Stage3D 또는 StageVideo 뷰포트를 흐리게 합니다. 표시 목록 내용은 투명도를 포함하여 렌더링됩니다.
참고: StageVideo 클래스를 사용하여 비디오를 재생할 때와 같은 경우에는 Stage3D 객체의 visible
속성을 사용하여 일시적으로 표시하지 않을 수 있습니다.
Stage3D
객체는 해당 stage3Ds
멤버를 사용하여 Player 스테이지에서 검색됩니다. Stage3D 인스턴스를 사용하여 연관된 렌더링 컨텍스트를 요청하고 런타임 스테이지에 표시를 배치합니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
context3D : Context3D [읽기 전용]
이 Stage3D 인스턴스와 연관된 Context3D 객체입니다. | Stage3D | ||
visible : Boolean
이 Stage3D 객체를 볼 수 있는지 여부를 지정합니다. | Stage3D | ||
x : Number
스테이지에서 Stage3D 표시의 수평 좌표입니다(픽셀 단위). | Stage3D | ||
y : Number
스테이지에서 Stage3D 표시의 수직 좌표입니다(픽셀 단위). | Stage3D |
메서드 | 정의 주체 | ||
---|---|---|---|
Stage3D() | Stage3D | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
이 Stage3D 인스턴스에 대한 Context3D 객체 생성을 요청합니다. | Stage3D | ||
이 Stage3D 인스턴스에 대한 Context3D 객체 생성을 요청합니다. | Stage3D | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
렌더링 컨텍스트가 만들어질 때 전달됩니다. | Stage3D | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
렌더링 컨텍스트에 대한 요청이 실패할 때 전달됩니다. | Stage3D |
context3D | 속성 |
context3D:Context3D
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11, AIR 3 |
이 Stage3D 인스턴스와 연관된 Context3D 객체입니다.
이 속성의 초기 값은 null
입니다. 이 Stage3D 객체에 대한 Context3D 인스턴스를 만들려면 context3DCreate
이벤트에 대한 이벤트 리스너를 추가한 다음 requestContext3D
메서드를 호출합니다. Context3D 객체가 만들어진 후 리스너가 호출됩니다.
구현
public function get context3D():Context3D
관련 API 요소
visible | 속성 |
x | 속성 |
x:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11, AIR 3 |
스테이지에서 Stage3D 표시의 수평 좌표입니다(픽셀 단위).
이 속성은 기본적으로 0입니다.
구현
public function get x():Number
public function set x(value:Number):void
오류
ArgumentError — 위치가 [-8191..8191] 범위를 벗어난 경우입니다.
|
y | 속성 |
y:Number
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11, AIR 3 |
스테이지에서 Stage3D 표시의 수직 좌표입니다(픽셀 단위).
이 속성은 기본적으로 0입니다.
구현
public function get y():Number
public function set y(value:Number):void
오류
ArgumentError — 위치가 [-8191..8191] 범위를 벗어난 경우입니다.
|
Stage3D | () | 생성자 |
public function Stage3D()
requestContext3D | () | 메서드 |
public function requestContext3D(context3DRenderMode:String = "auto", profile:String = "baseline"):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11, AIR 3 |
이 Stage3D 인스턴스에 대한 Context3D 객체 생성을 요청합니다.
이 함수를 호출하기 전에 context3DCreate
이벤트에 대한 이벤트 리스너를 추가합니다. 그렇지 않을 경우 런타임에 예외가 발생합니다.
장치 손실에 대한 중요 참고 사항: GPU 하드웨어를 응용 프로그램에 사용할 수 없게 되면 GPU 장치 손실이 발생합니다. GPU 장치가 손실될 경우 Context3D 객체가 삭제됩니다. 모바일 장치의 배터리 전원이 소모되거나 Windows 장치가 "잠금 화면"이 되는 경우와 같은 다양한 이유로 인해 GPU 장치 손실이 발생할 수 있습니다. GPU를 다시 사용할 수 있게 되면 런타임은 새 Context3D 인스턴스를 만들고 다른 context3DCreate
이벤트를 전달합니다. 장치 손실이 발생할 때마다 응용 프로그램은 모든 에셋을 다시 로드하고 렌더링 컨텍스트 상태를 재설정해야 합니다.
장치 손실 및 컨텍스트 재생성 가능성을 고려하여 응용 프로그램 논리를 설계합니다. context3DCreate
이벤트 리스너를 제거해서는 안 됩니다. 응용 프로그램에서 반복되지 않아야 하는 이벤트에 응답하여 액션을 수행하지 마십시오. 예를 들어 타이머 이벤트는 장치 손실 후에 중복되므로 타이머 이벤트를 처리하기 위해 익명 함수를 추가해서는 안 됩니다. 응용 프로그램의 장치 손실 처리를 테스트하려면 Context3D 객체의 dispose()
메서드를 호출하여 장치 손실을 시뮬레이션하면 됩니다.
다음 예제에서는 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 ); }
매개 변수
context3DRenderMode:String (default = "auto ") — 요청할 렌더링 컨텍스트의 유형입니다. 기본값은 가능한 경우 런타임이 하드웨어 가속 컨텍스트를 만들고 그렇지 않은 경우 소프트웨어로 폴백하는 Context3DRenderMode.AUTO 입니다. Context3DRenderMode.SOFTWARE 를 사용하여 소프트웨어 렌더링 컨텍스트를 요청합니다. 휴대 장치에서는 소프트웨어 렌더링을 사용할 수 없습니다. 소프트웨어 렌더링은 Context3DProfile.BASELINE 및 Context3DProfile.BASELINE_CONSTRAINED 에 대해서만 사용할 수 있습니다.
| |
profile:String (default = "baseline ") — (AIR 3.4 이상) Flash Player가 하위 레벨 GPU를 지원하는 범위를 지정합니다. 기본값은 Context3DProfile.BASELINE 으로, 이전 릴리스에서 사용되던 것과 비슷한 Context3D 인스턴스를 반환합니다. 사용할 수 있는 모든 프로파일의 세부 정보를 가져오려면 flash.display3D.Context3DProfile 을 참조하십시오.
|
이벤트
context3DCreate: — 요청한 렌더링 컨텍스트가 성공적으로 완료될 때 전달됩니다.
| |
error: — 요청한 렌더링 컨텍스트를 만들 수 없을 때 전달됩니다.
|
오류
Error — context3DCreate 이벤트에 대한 리스너가 이 Stage3D 객체에 추가되지 않은 경우입니다.
| |
ArgumentError — 이전 호출이 완료되기 전에 다른 context3DRenderMode 를 사용하여 이 메서드가 다시 호출된 경우입니다.
|
관련 API 요소
requestContext3DMatchingProfiles | () | 메서드 |
public function requestContext3DMatchingProfiles(profiles:Vector.<String>):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 12, AIR 4 |
이 Stage3D 인스턴스에 대한 Context3D 객체 생성을 요청합니다.
이 함수를 호출하기 전에 context3DCreate
이벤트에 대한 이벤트 리스너를 추가합니다. 그렇지 않을 경우 런타임에 예외가 발생합니다.
장치 손실에 대한 중요 참고 사항: GPU 하드웨어를 응용 프로그램에 사용할 수 없게 되면 GPU 장치 손실이 발생합니다. GPU 장치가 손실될 경우 Context3D 객체가 삭제됩니다. 모바일 장치의 배터리 전원이 소모되거나 Windows 장치가 "잠금 화면"이 되는 경우와 같은 다양한 이유로 인해 GPU 장치 손실이 발생할 수 있습니다. GPU를 다시 사용할 수 있게 되면 런타임은 새 Context3D 인스턴스를 만들고 다른 context3DCreate
이벤트를 전달합니다. 장치 손실이 발생할 때마다 응용 프로그램은 모든 에셋을 다시 로드하고 렌더링 컨텍스트 상태를 재설정해야 합니다.
장치 손실 및 컨텍스트 재생성 가능성을 고려하여 응용 프로그램 논리를 설계합니다. context3DCreate
이벤트 리스너를 제거해서는 안 됩니다. 응용 프로그램에서 반복되지 않아야 하는 이벤트에 응답하여 액션을 수행하지 마십시오. 예를 들어 타이머 이벤트는 장치 손실 후에 중복되므로 타이머 이벤트를 처리하기 위해 익명 함수를 추가해서는 안 됩니다. 응용 프로그램의 장치 손실 처리를 테스트하려면 Context3D 객체의 dispose()
메서드를 호출하여 장치 손실을 시뮬레이션하면 됩니다.
다음 예제에서는 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 );
매개 변수
profiles:Vector.<String> — (AIR 3.4 이상) 개발자가 Flash 프로그램에 사용하려는 프로파일 배열입니다. 개발자가 프로파일 배열을 Stage3D.requestContext3DMatchingProfiles에 전달하면 하드웨어 용량에 따라 해당 배열에서 가장 높은 레벨의 프로파일을 기준으로 Context3D를 받습니다. renderMode는 AUTO로 설정되므로 param이 누락됩니다.
|
이벤트
context3DCreate: — 요청한 렌더링 컨텍스트가 성공적으로 완료될 때 전달됩니다.
| |
error: — 요청한 렌더링 컨텍스트를 만들 수 없을 때 전달됩니다. 하드웨어를 사용할 수 없으면 소프트웨어 Context3D를 만들지 않습니다.
|
오류
Error — context3DCreate 이벤트에 대한 리스너가 이 Stage3D 객체에 추가되지 않은 경우입니다.
| |
ArgumentError — 이전 호출이 완료되기 전에 이 메서드가 호출된 경우입니다.
| |
ArgumentError — 배열의 항목이 flash.display3D.Context3DProfile이 아닌 경우입니다.
|
관련 API 요소
context3DCreate | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.CONTEXT3D_CREATE
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11, AIR 3 |
렌더링 컨텍스트가 만들어질 때 전달됩니다.
Event.CONTEXT3D_CREATE
상수는 context3Dcreate
이벤트 객체의 type
속성 값을 정의합니다. 이 이벤트는 Stage3D.requestContext3D 호출에 대한 응답 또는 Stage3D 객체에 바인딩된 Context3D의 OS 트리거 재설정에 대한 응답으로 Stage3D 객체에서만 발생합니다. 새로 만든 Context3D 객체를 가져오기 위해 Stage3D.context3D 속성을 조사합니다.
관련 API 요소
error | 이벤트 |
flash.events.ErrorEvent
속성 ErrorEvent.type =
flash.events.ErrorEvent.ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11, AIR 3 |
렌더링 컨텍스트에 대한 요청이 실패할 때 전달됩니다.
error
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 네트워크 작업에 실패한 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
관련 API 요소
Tue Jun 12 2018, 03:17 PM Z