Пакет | 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, расположенные ниже. Содержимое списка отображения визуализируется с применением прозрачности.
Примечание. Свойство visible
объекта Stage3D можно использовать для временного удаления объекта с экрана, например при воспроизведении видео с использованием класса StageVideo.
Объект Stage3D
извлекается из рабочей области Player с помощью его члена stage3Ds
. Используйте экземпляр Stage3D для запроса связанного контекста визуализации и для размещения экрана в рабочей области среды выполнения.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
context3D : Context3D [только для чтения]
Объект Context3D, связанный с данным экземпляром Stage3D. | 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 | ||
Отправьте запрос на создание объекта Context3D для этого экземпляра Stage3D. | Stage3D | ||
Отправьте запрос на создание объекта Context3D для этого экземпляра Stage3D. | 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 |
Объект Context3D, связанный с данным экземпляром Stage3D.
Это свойство первоначально имеет значение null
. Чтобы создать экземпляр Context3D для данного объекта Stage3D, добавьте прослушиватель для события context3DCreate
, а затем вызовите метод requestContext3D
. Прослушиватель вызывается сразу после создания объекта Context3D.
Реализация
public function get context3D():Context3D
Связанные элементы API
visible | свойство |
visible:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 11, AIR 3 |
Задает видимость этого объекта Stage3D.
Используйте это свойство для временного скрытия объекта Stage3D в рабочей области. По умолчанию это свойство имеет значение true
.
Реализация
public function get visible():Boolean
public function set visible(value:Boolean):void
x | свойство |
x:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 11, AIR 3 |
Горизонтальная координата отображения объекта Stage3D в рабочей область (в пикселях).
По умолчанию это свойство равно нулю.
Реализация
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 в рабочей область (в пикселях).
По умолчанию это свойство равно нулю.
Реализация
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 |
Отправьте запрос на создание объекта Context3D для этого экземпляра Stage3D.
Прежде чем вызвать эту функцию, добавьте прослушиватель для события context3DCreate
. В противном случае в среде выполнения будет создано исключение.
Важное замечание о потери связи с устройством. Потеря связи с устройством, оснащенным графическим процессором, происходит, когда аппаратное обеспечение графического процессора становится недоступным в приложении. Объект Context3D удаляется, если связь с устройством с графическим процессором потеряна. Потеря связи с устройством с графическим процессором может происходить по разным причинам, например, если аккумулятор мобильного устройства разряжен или устройство Windows переходит в режим блокировки экрана. Когда графический процессор снова становится доступным, среда выполнения создает новый экземпляр Context3D и отправляет еще одно событие context3DCreate
. Приложение должно выполнять повторную загрузку всех активов и сброс состояния контекста визуализации в случае потери связи с устройством.
Предусмотрите в алгоритме приложения возможность потери связи с устройством и регенерации контекста. Не удаляйте прослушиватель событий context3DCreate
. Не выполняйте действия в ответ на событие, которое не должно повторяться в приложении. Например, не добавляйте анонимные функции для обработки событий таймера, поскольку после потери связи с устройством будет происходить их дублирование. Чтобы проверить реализованную в приложении обработку потери связи с устройством, можно смоделировать сценарий потери связи с устройством, вызвав метод dispose()
объекта Context3D.
Следующий пример иллюстрирует отправку запроса контекста визуализации 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 поддерживает графические процессоры низшего уровня. Стандартным параметром является 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 |
Отправьте запрос на создание объекта Context3D для этого экземпляра Stage3D.
Прежде чем вызвать эту функцию, добавьте прослушиватель для события context3DCreate
. В противном случае в среде выполнения будет создано исключение.
Важное замечание о потери связи с устройством. Потеря связи с устройством, оснащенным графическим процессором, происходит, когда аппаратное обеспечение графического процессора становится недоступным в приложении. Объект Context3D удаляется, если связь с устройством с графическим процессором потеряна. Потеря связи с устройством с графическим процессором может происходить по разным причинам, например, если аккумулятор мобильного устройства разряжен или устройство Windows переходит в режим блокировки экрана. Когда графический процессор снова становится доступным, среда выполнения создает новый экземпляр Context3D и отправляет еще одно событие context3DCreate
. Приложение должно выполнять повторную загрузку всех активов и сброс состояния контекста визуализации в случае потери связи с устройством.
Предусмотрите в алгоритме приложения возможность потери связи с устройством и регенерации контекста. Не удаляйте прослушиватель событий context3DCreate
. Не выполняйте действия в ответ на событие, которое не должно повторяться в приложении. Например, не добавляйте анонимные функции для обработки событий таймера, поскольку после потери связи с устройством будет происходить их дублирование. Чтобы проверить реализованную в приложении обработку потери связи с устройством, можно смоделировать сценарий потери связи с устройством, вызвав метод dispose()
объекта Context3D.
Следующий пример иллюстрирует отправку запроса контекста визуализации 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, поэтому этот параметр опускается.
|
События
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
определяет значение свойства type
объекта событий context3Dcreate
. Это событие вызывается только объектами Stage3D в ответ на вызов Stage3D.requestContext3D или на сброс объекта Context3D, привязанного к объекту Stage3D по триггеру ОС. Просмотрите свойство Stage3D.context3D, чтобы получить новый объект Context3D.
Связанные элементы API
error | Событие |
flash.events.ErrorEvent
свойство ErrorEvent.type =
flash.events.ErrorEvent.ERROR
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 11, AIR 3 |
Отправляется, когда происходит сбой запроса контекста визуализации.
Определяет значение свойстваtype
объекта события error
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, испытывающий сбой сетевой операции. |
text | Текст, отображаемый в качестве сообщения об ошибке. |
Связанные элементы API
Tue Jun 12 2018, 11:34 AM Z