Пакет | flash.display |
Класс | public class DisplayObjectContainer |
Наследование | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Подклассы | Loader, Sprite, Stage, TextLine |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject — это абстрактный базовый класс, поэтому DisplayObject нельзя вызывать непосредственно. При вызове new DisplayObject()
выдается исключение ArgumentError
.
new DisplayObjectContainer()
выдается исключение ArgumentError
.
Дополнительные сведения см. в главе «Программирование экрана» Руководства разработчика по ActionScript 3.0.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Текущая реализация специальных возможностей (AccessibilityImplementation) для данного экземпляра InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта. | DisplayObject | ||
alpha : Number
Указывает значение альфа-прозрачности заданного объекта. | DisplayObject | ||
blendMode : String
Значение класса BlendMode, задающее режим наложения. | DisplayObject | ||
blendShader : Shader [только для записи]
Задает затенение, используемое при наложении переднего плана на фон. | DisplayObject | ||
cacheAsBitmap : Boolean
При значении true среда выполнения Flash кэширует внутреннее растровое представление экранного объекта. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Если задано ненулевое значение, данный объект Matrix определяет способ визуализации экранного объекта, когда свойство cacheAsBitmap имеет значение true. | DisplayObject | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
contextMenu : NativeMenu
Определяет контекстное меню, связанное с данным объектом. | InteractiveObject | ||
doubleClickEnabled : Boolean
Определяет, получает ли объект события doubleClick. | InteractiveObject | ||
filters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом. | DisplayObject | ||
focusRect : Object
Задает отображение прямоугольной рамки индикатора фокуса для данного объекта. | InteractiveObject | ||
height : Number
Указывает высоту экранного объекта в пикселях. | DisplayObject | ||
loaderInfo : LoaderInfo [только для чтения]
Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект. | DisplayObject | ||
mask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask. | DisplayObject | ||
metaData : Object
Получает объект метаданных экземпляра DisplayObject, если метаданные хранились вместе с экземпляром этого DisplayObject в SWF-файле через тег PlaceObject4. | DisplayObject | ||
mouseChildren : Boolean
Определяет, поддерживают ли дочерние объекты события мыши или других устройств пользовательского ввода. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Определяет, получает ли этот объект события мыши или другого пользовательского ввода. | InteractiveObject | ||
mouseX : Number [только для чтения]
Указывает координату x мыши или курсора пользовательского ввода (в пикселях). | DisplayObject | ||
mouseY : Number [только для чтения]
Указывает координату y мыши или курсора пользовательского ввода (в пикселях). | DisplayObject | ||
name : String
Указывает имя экземпляра DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Определяет, должна ли отображаться виртуальная клавиатура (программная экранная клавиатура), когда этот экземпляр InteractiveObject получает фокус. | InteractiveObject | ||
numChildren : int [только для чтения]
Возвращает число дочерних элементов данного объекта. | DisplayObjectContainer | ||
opaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона. | DisplayObject | ||
parent : DisplayObjectContainer [только для чтения]
Указывает объект DisplayObjectContainer, содержащий данный экранный объект. | DisplayObject | ||
root : DisplayObject [только для чтения]
В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом. | DisplayObject | ||
rotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах). | DisplayObject | ||
rotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному вышестоящему контейнеру. | DisplayObject | ||
rotationY : Number
Обозначает угол поворота в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру. | DisplayObject | ||
rotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject от исходной ориентации относительно трехмерного родительского контейнера. | DisplayObject | ||
scale9Grid : Rectangle
Текущая активная сетка масштабирования. | DisplayObject | ||
scaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | ||
scaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | ||
scaleZ : Number
Указывает глубину масштабирования объекта (в процентах) относительно точки регистрации этого объекта. | DisplayObject | ||
scrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта. | DisplayObject | ||
softKeyboard : String
Управляет внешним видом программной клавиатуры. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Определяет область, которая должна оставаться на экране при отображении программной клавиатуры (недоступна в iOS). | InteractiveObject | ||
stage : Stage [только для чтения]
Класс Stage экранного объекта. | DisplayObject | ||
tabChildren : Boolean
Определяет, включен ли переход между нижестоящими элементами объекта с помощью клавиши Tab. | DisplayObjectContainer | ||
tabEnabled : Boolean
Определяет, включен ли переход к этому объекту с помощью клавиши Tab. | InteractiveObject | ||
tabIndex : int
Задает последовательность перехода между объектами в SWF-файле. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [только для чтения]
Возвращает объект TextSnapshot для данного экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта. | DisplayObject | ||
visible : Boolean
Определяет видимость экранного объекта. | DisplayObject | ||
width : Number
Указывает ширину экранного объекта в пикселях. | DisplayObject | ||
x : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | ||
y : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | ||
z : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера. | DisplayObject |
Метод | Определено | ||
---|---|---|---|
При вызове нового DisplayObjectContainer() конструктор выдает исключение ArgumentError. | DisplayObjectContainer | ||
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. | DisplayObjectContainer | ||
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Показывает, могут ли ограничения безопасности привести к пропуску каких-либо экранных объектов в списке, возвращаемом в результате вызова метода DisplayObjectContainer.getObjectsUnderPoint() с заданной точкой point. | DisplayObjectContainer | ||
Определяет, является ли указанный объект отображения дочерним объектом экземпляра DisplayObjectContainer или самим экземпляром. | DisplayObjectContainer | ||
Посылает событие в поток событий. | EventDispatcher | ||
Возвращает прямоугольник, определяющий область объекта отображения, которая относится к системе координат объекта targetCoordinateSpace. | DisplayObject | ||
Возвращает экземпляр дочернего экранного объекта, существующий в заданной позиции индекса. | DisplayObjectContainer | ||
Возвращает экземпляр дочернего экранного объекта с заданным именем. | DisplayObjectContainer | ||
Возвращает позицию индекса для экземпляра DisplayObject child. | DisplayObjectContainer | ||
Возвращает массив объектов, расположенных ниже указанной позиции и являющихся дочерними объектами любого уровня для данного экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Возвращает прямоугольник, определяющий границу объекта отображения по системе координат, определенной параметром targetCoordinateSpace за исключением линий фигур. | DisplayObject | ||
Преобразует объект Point из координат рабочей области (глобальных) в координаты отображаемого объекта (локальные). | DisplayObject | ||
Преобразует двумерный объект Point из координат рабочей области (глобальных) в координаты экранного трехмерного объекта (локальные). | DisplayObject | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Вычисляет ограничительную рамку экранного объекта, чтобы определить, не перекрывает и не пересекает ли она ограничительную рамку экранного объекта obj. | DisplayObject | ||
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее. | DisplayObject | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Преобразует трехмерный объект point из координат трехмерного экранного объекта (локальных) в двухмерный объект point с координатами рабочей области (глобальными). | DisplayObject | ||
Преобразует объект Point из координат экранного объекта (локальных) в координаты рабочей области (глобальные). | DisplayObject | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет заданный объект child DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет дочерний DisplayObject из заданной позиции индекса в списке дочерних элементов DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет все дочерние экземпляры DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Вызывает виртуальную клавиатуру. | InteractiveObject | ||
Изменяет положение существующего дочернего элемента в DisplayObjectContainer. | DisplayObjectContainer | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Рекурсивно останавливает выполнение временной шкалы всех фрагментов MovieClip, размещенных в корне этого объекта. | DisplayObjectContainer | ||
Меняет местами (в порядке «от начала к концу») два заданных дочерних объекта. | DisplayObjectContainer | ||
Меняет местами (в порядке «от начала к концу») дочерние объекты, расположенные в двух заданных позициях индекса в списке дочерних элементов. | DisplayObjectContainer | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
mouseChildren | свойство |
mouseChildren:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет, поддерживают ли дочерние объекты события мыши или других устройств пользовательского ввода. Если объект поддерживает эти события, пользователь может взаимодействовать с ним с помощью мыши или другого устройства ввода. Значение по умолчанию — true
.
Это свойство удобно использовать, когда кнопка создается с помощью экземпляра класса Sprite (а не класса SimpleButton). Когда для создания кнопки используется экземпляр Sprite, при желании можно украсить кнопку с помощью метода addChild()
, добавив дополнительные экземпляры Sprite. Этот процесс может вызывать непредвиденное поведение событий мыши, так как целевым объектом события мыши вместо родительского экземпляра могут стать экземпляры Sprite, добавленные в качестве дочерних. Чтобы родительский экземпляр гарантированно был целевым объектом событий мыши, можно задать его свойству mouseChildren
значение false
.
При настройке данного свойства события не отправляются. Чтобы создать интерактивные функции, необходимо использовать метод addEventListener()
.
Реализация
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean):void
Связанные элементы API
Пример ( Использование этого примера )
container
и показывается, что когда свойству mouseChildren
задается значение false
, целью события mouseClick
является объект container
, а не его дочерние элементы.
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); container.name = "container"; addChild(container); var circle:Sprite = new Sprite(); circle.name = "circle"; circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); container.addChild(circle); container.mouseChildren = false; container.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { trace(event.target.name); // container }
numChildren | свойство |
numChildren:int
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает число дочерних элементов данного объекта.
Реализация
public function get numChildren():int
Пример ( Использование этого примера )
container1
и container2
. Спрайт — это тип контейнера экранных объектов. В примере вызывается метод addChild()
для создания иерархии отображения: container1
является дочерним элементомcontainer2
, а два других экранных объекта, circle1
и circle2
, являются дочерними элементами container1
. При вызове метода trace()
показывается число дочерних элементов каждого объекта. Обратите внимание, что дочерние элементы второго уровня не включены в счетчик numChildren
.
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
tabChildren | свойство |
tabChildren:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет, включен ли переход между дочерними элементами объекта с помощью клавиши Tab. Включает или отключает переход между дочерними объектами с помощью клавиши Tab. Значение по умолчанию — true
.
Примечание. Свойство tabChildren
не следует использовать с Flex. Вместо него следует использовать свойство mx.core.UIComponent.hasFocusableChildren
.
Реализация
public function get tabChildren():Boolean
public function set tabChildren(value:Boolean):void
Выдает
IllegalOperationError — При вызове данного свойства объекта Stage выдается исключение. Объект Stage не реализует это свойство.
|
Пример ( Использование этого примера )
container1
и в его список отображения добавляется два экранных объекта: circle1
и circle2
. В этом примере для tabChildren дочерних объектов задается значение false
, чтобы последовательностью перехода посредством клавиши Tab можно было управлять с помощью tabIndex
.
import flash.display.Sprite; var container:Sprite = new Sprite(); container.tabChildren = false; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.tabIndex = 1; var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); circle2.tabIndex = 0; container.addChild(circle1); container.addChild(circle2);
textSnapshot | свойство |
textSnapshot:flash.text:TextSnapshot
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает объект TextSnapshot для данного экземпляра DisplayObjectContainer.
Реализация
public function get textSnapshot():flash.text:TextSnapshot
Связанные элементы API
Пример ( Использование этого примера )
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
DisplayObjectContainer | () | Конструктор |
public function DisplayObjectContainer()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
При вызове нового DisplayObjectContainer()
конструктор выдает исключение ArgumentError
. Однако можно вызывать конструкторы для следующих подклассов DisplayObjectContainer:
new Loader()
new Sprite()
new MovieClip()
addChild | () | метод |
public function addChild(child:DisplayObject):DisplayObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. Дочерний элемент добавляется перед (сверху) всеми остальными дочерними элементами в данном экземпляре DisplayObjectContainer. (Чтобы добавить дочерний элемент в конкретную позицию в индексе, используйте метод addChildAt()
.)
При добавлении дочернего объекта, уже имеющего отличный от других контейнер объекта отображения в качестве родительского элемента, объект удаляется из списка дочерних элементов другого контейнера объекта отображения.
Примечание. Команда stage.addChild()
может вызвать проблемы с опубликованным SWF-файлом, включая проблемы безопасности и конфликты с другими загруженными SWF-файлами. В экземпляре среды выполнения Flash есть только одна рабочая область независимо от числа загружаемых SWF-файлов. Так, как правило, объекты совсем не следует добавлять в рабочую область напрямую. Рабочая область должна содержать только корневой объект. Создайте объект DisplayObjectContainer, который будет содержать все элементы списка отображения. Затем, при необходимости, добавьте этот экземпляр DisplayObjectContainer в рабочую область.
Параметры
child:DisplayObject — Экземпляр DisplayObject для добавления в качестве нижестоящего элемента экземпляра DisplayObjectContainer.
|
DisplayObject — Экземпляр DisplayObject, передаваемый в параметр child .
|
События
added: — Отправляется, когда экранный объект добавляется в список отображения.
|
Выдает
ArgumentError — Инициирует, если дочерний элемент тот же, что и родительский. Также выдается исключение, если вызывающий объект является дочерним элементом первого уровня (или второго и так далее уровней) добавляемого дочернего элемента.
|
Связанные элементы API
Пример ( Использование этого примера )
container1
и container2
. Спрайт — это тип контейнера экранных объектов. В примере вызывается метод addChild()
для создания иерархии отображения: container1
является дочерним элементомcontainer2
, а два других экранных объекта, circle1
и circle2
, являются дочерними элементами container1
. При вызове метода trace()
показывается число дочерних элементов каждого объекта. Обратите внимание, что дочерние элементы второго уровня не включены в счетчик numChildren
.
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
addChildAt | () | метод |
public function addChildAt(child:DisplayObject, index:int):DisplayObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. Дочерний элемент добавляется к указанной позиции индекса. Индекс 0 представляет собой заднюю (нижнюю) часть списка отображения для объекта DisplayObjectContainer.
Так, в следующем примере представлено три объекта отображения с метками а, b и c в позициях индекса 0, 1 и 2 соответственно.
При добавлении дочернего объекта, уже имеющего отличный от других контейнер объекта отображения в качестве родительского элемента, объект удаляется из списка дочерних элементов другого контейнера объекта отображения.
Параметры
child:DisplayObject — Экземпляр DisplayObject для добавления в качестве нижестоящего элемента экземпляра DisplayObjectContainer.
| |
index:int — Позиция индекса для добавления нижестоящего элемента. При указании занятой в настоящее время позиции индекса существующий в данной позиции дочерний объект и все вышестоящие позиции перемещаются по списку на одну позицию вверх.
|
DisplayObject — Экземпляр DisplayObject, передаваемый в параметр child .
|
События
added: — Отправляется, когда экранный объект добавляется в список отображения.
|
Выдает
RangeError — Исключение выдается, если позиция в индексе не существует в списке дочерних элементов.
| |
ArgumentError — Инициирует, если дочерний элемент тот же, что и родительский. Также выдается исключение, если вызывающий объект является дочерним элементом первого уровня (или второго и так далее уровней) добавляемого дочернего элемента.
|
Связанные элементы API
Пример ( Использование этого примера )
container
, и в его список отображения добавляется экранный объект circle1
. Затем посредством вызова container.addChildAt(circle2, 0)
добавляется объект circle2
в позицию индекса 0 (задний план) и перемещает объект circle1
в позицию индекса 1.
import flash.display.Sprite; var container:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); var circle2:Sprite = new Sprite(); container.addChild(circle1); container.addChildAt(circle2, 0); trace(container.getChildAt(0) == circle2); // true trace(container.getChildAt(1) == circle1); // true
areInaccessibleObjectsUnderPoint | () | метод |
public function areInaccessibleObjectsUnderPoint(point:Point):Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Показывает, могут ли ограничения безопасности привести к пропуску каких-либо экранных объектов в списке, возвращаемом в результате вызова метода DisplayObjectContainer.getObjectsUnderPoint()
с заданной точкой point
. По умолчанию содержимое из одного домена не имеет доступ к объектам из другого домена, если это не разрешено посредством вызова метода Security.allowDomain()
. Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.
Параметр point
находится в координатной плоскости рабочей области, которая может отличаться от координатной плоскости контейнера объектов отображения (если это не рабочая область). Можно использовать методы globalToLocal()
и localToGlobal()
для преобразования точек между этими координатными плоскостями.
Параметры
point:Point — Точка, под которой следует выполнить поиск.
|
Boolean — Значение true , если точка содержит дочерние экранные объекты с ограничениями по безопасности.
|
Связанные элементы API
getObjectsUnderPoint()
DisplayObject.globalToLocal()
DisplayObject.localToGlobal()
Пример ( Использование этого примера )
container
. В следующем блоке кода используется объект Loader для загрузки файла JPEG с именем test.jpg с удаленного файлового сервера. Обратите внимание, что свойство checkPolicyFile
объекта LoaderContext, использованного в качестве параметра в методе load()
, имеет значение false
. По завершении загрузки файла код вызывает метод loaded()
, который в свою очередь вызывает метод container.areInaccessibleObjectsUnderPoint()
, возвращающий значение true
, так как загруженное содержимое находится на недоступном домене.
import flash.display.Sprite; import flash.display.Loader; import flash.system.LoaderContext; import flash.net.URLRequest; import flash.events.Event; import flash.geom.Point; var container:Sprite = new Sprite(); var urlReq:URLRequest = new URLRequest("http://localhost/RemoteFile.swf"); var ldr:Loader = new Loader(); var context:LoaderContext = new LoaderContext(); context.checkPolicyFile = false; ldr.load(urlReq, context); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound); function loaded(event:Event):void { var pt:Point = new Point(1, 1); trace(container.areInaccessibleObjectsUnderPoint(pt)); // true } function urlNotFound(event:Event):void { trace("The URL was not found."); }
contains | () | метод |
public function contains(child:DisplayObject):Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет, является ли указанный объект отображения дочерним объектом экземпляра DisplayObjectContainer или самим экземпляром. Область поиска охватывает весь список отображения, включая данный экземпляр DisplayObjectContainer. Нижестоящие элементы второго, третьего и последующих уровней возвращают значение true
.
Параметры
child:DisplayObject — Тестируемый нижестоящий объект.
|
Boolean — Значение true , если объект child является дочерним элементом объекта DisplayObjectContainer или самого контейнера, в противном случае значение false .
|
Пример ( Использование этого примера )
contains()
.
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); var sprite4:Sprite = new Sprite(); sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite1.contains(sprite1)); // true trace(sprite1.contains(sprite2)); // true trace(sprite1.contains(sprite3)); // true trace(sprite1.contains(sprite4)); // false
getChildAt | () | метод |
public function getChildAt(index:int):DisplayObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает экземпляр дочернего экранного объекта, существующий в заданной позиции индекса.
Параметры
index:int — Позиция индекса дочернего объекта.
|
DisplayObject — Дочерний экранный объект в заданной позиции индекса.
|
Выдает
RangeError — Исключение выдается, если индекс не существует в списке дочерних элементов.
| |
SecurityError — Данный дочерний объект отображения принадлежит изолированной программной среде, к которой нет доступа. Чтобы избежать такой ситуации, дочерний ролик должен вызвать метод Security.allowDomain() .
|
Связанные элементы API
Пример ( Использование этого примера )
container
, а затем добавляются три экранных объекта в список дочерних элементов объекта container
. После вызова метода getChildAt()
отображаются позиции дочерних объектов.
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); container.addChild(sprite1); container.addChild(sprite2); container.addChildAt(sprite3, 0); trace(container.getChildAt(0) == sprite3); // true trace(container.getChildAt(1) == sprite1); // true trace(container.getChildAt(2) == sprite2); // true
getChildByName | () | метод |
public function getChildByName(name:String):DisplayObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает экземпляр дочернего экранного объекта с заданным именем. Если заданное имя соответствует нескольким дочерним экранным объектам, метод возвращает первый из списка.
Метод getChildAt()
работает быстрее метода getChildByName()
. Метод getChildAt()
обращается к дочернему элементу из кэшированного массива, а методу getChildByName()
приходится искать дочерний элемент через связанный список.
Параметры
name:String — Имя возвращаемого нижестоящего элемента.
|
DisplayObject — Дочерний экранный объект с заданным именем.
|
Выдает
SecurityError — Данный дочерний объект отображения принадлежит изолированной программной среде, к которой нет доступа. Чтобы избежать такой ситуации, дочерний ролик должен вызвать метод Security.allowDomain() .
|
Связанные элементы API
Пример ( Использование этого примера )
container
, а затем в него добавляются два дочерних экранных объекта. Затем код вызывает методы getChildByName()
и getChildIndex()
для получения позиции индекса дочернего объекта container
с именем "sprite1"
.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getChildIndex | () | метод |
public function getChildIndex(child:DisplayObject):int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает позицию индекса для экземпляра DisplayObject child
.
Параметры
child:DisplayObject — Искомый экземпляр DisplayObject.
|
int — Позиция индекса для искомого дочернего экранного объекта.
|
Выдает
ArgumentError — Инициируется, если дочерний параметр не является дочерним элементом данного объекта.
|
Пример ( Использование этого примера )
container
, а затем в него добавляются два дочерних экранных объекта. Затем код вызывает методы getChildByName()
и getChildIndex()
для получения позиции индекса дочернего объекта container
с именем "sprite1"
.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getObjectsUnderPoint | () | метод |
public function getObjectsUnderPoint(point:Point):Array
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает массив объектов, расположенных ниже указанной позиции и являющихся дочерними объектами любого уровня для данного экземпляра DisplayObjectContainer. Дочерние объекты, недоступные по соображениям безопасности, опускаются из возвращенного массива. Чтобы определить, затрагивается ли возвращенный массив ограничением с целью обеспечения безопасности, вызовите метод areInaccessibleObjectsUnderPoint()
.
Параметр point
находится в координатной плоскости рабочей области, которая может отличаться от координатной плоскости контейнера объектов отображения (если это не рабочая область). Можно использовать методы globalToLocal()
и localToGlobal()
для преобразования точек между этими координатными плоскостями.
Параметры
point:Point — Точка, под которой следует выполнить поиск.
|
Array — Массив объектов, расположенных ниже указанной позиции и являющихся дочерними объектами любого уровня для данного экземпляра DisplayObjectContainer.
|
Связанные элементы API
Пример ( Использование этого примера )
container
, а затем в него добавляется два пересекающихся дочерних объекта отображения. Затем код дважды вызывает метод getObjectsUnderPoint()
: один раз с использованием точки, касающейся только одного объекта, а затем с использованием точки, в которой объекты пересекаются. Свойство length
возвращаемого массива показывает количество объектов контейнера в каждой точке.
import flash.display.Sprite; import flash.geom.Point; var container:Sprite = new Sprite(); var square1:Sprite = new Sprite(); square1.graphics.beginFill(0xFFCC00); square1.graphics.drawRect(0, 0, 40, 40); var square2:Sprite = new Sprite(); square2.graphics.beginFill(0x00CCFF); square2.graphics.drawRect(20, 0, 30, 40); container.addChild(square1); container.addChild(square2); var pt:Point = new Point(10, 20); var objects:Array = container.getObjectsUnderPoint(pt); trace(objects.length); // 1 pt = new Point(35, 20); objects = container.getObjectsUnderPoint(pt); trace(objects.length); // 2
removeChild | () | метод |
public function removeChild(child:DisplayObject):DisplayObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Удаляет заданный объект child
DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. Свойство parent
удаленного дочернего элемента получает значение null
, а сам объект утилизуется в ходе «сборки мусора», если отсутствуют другие ссылки на дочерний элемент. Позиции индекса экранных объектов, расположенных над дочерним элементом в DisplayObjectContainer уменьшаются на 1.
Сборщик мусора перераспределяет неиспользуемый объем памяти. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок
Параметры
child:DisplayObject — Удаляемый экземпляр DisplayObject.
|
DisplayObject — Экземпляр DisplayObject, передаваемый в параметр child .
|
Выдает
ArgumentError — Инициируется, если дочерний параметр не является дочерним элементом данного объекта.
|
Пример ( Использование этого примера )
container
, а затем в него добавляются два дочерних экранных объекта. Для объекта container
добавляется прослушиватель событий, чтобы при нажатии пользователем на дочерний объект контейнера, метод removeChild()
удалял его из списка дочерних объектов контейнера.
import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); container.addChild(circle1); container.addChild(circle2); container.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { container.removeChild(DisplayObject(event.target)); }
removeChildAt | () | метод |
public function removeChildAt(index:int):DisplayObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Удаляет дочерний DisplayObject из заданной позиции index
в списке дочерних объектов DisplayObjectContainer. Свойство parent
удаленного дочернего элемента получает значение null
, а сам объект очищается, если нет других ссылок на дочерние элементы. Позиции индекса экранных объектов, расположенных над дочерним элементом в DisplayObjectContainer уменьшаются на 1.
Сборщик мусора перераспределяет неиспользуемый объем памяти. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок
Параметры
index:int — Удаляемый индекс нижестоящего элемента DisplayObject.
|
DisplayObject — Удаленный экземпляр DisplayObject.
|
Выдает
SecurityError — Данный дочерний экранный объект принадлежит изолированной программной среде, к которой нет доступа у вызывающего объекта. Чтобы избежать такой ситуации, дочерний ролик должен вызвать метод Security.allowDomain() .
| |
RangeError — Исключение выдается, если индекс не существует в списке дочерних элементов.
|
Пример ( Использование этого примера )
container
, а затем в него добавляются два дочерних экранных объекта. Затем код показывает, что при вызове метода removeChildAt()
для удаления элемента на самой нижней позиции индекса (0) все остальные дочерние объекты в списке перемещаются на одну позицию вниз.
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); trace(container.numChildren) // 2 container.removeChildAt(0); trace(container.numChildren) // 1 trace(container.getChildAt(0).name); // sprite2
removeChildren | () | метод |
public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 3.0, Flash Player 11 |
Удаляет все child
экземпляры DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. Свойство parent
удаленного дочернего элемента получает значение null
, а сами объекты очищаются, если нет других ссылок на дочерние элементы.
Сборщик мусора перераспределяет неиспользуемый объем памяти. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок
Параметры
beginIndex:int (default = 0 ) — Начальная позиция. Значение меньше 0 вызывает RangeError .
| |
endIndex:int (default = 0x7fffffff ) — Конечная позиция. Значение меньше 0 вызывает RangeError .
|
Выдает
RangeError — Возвращается, если в списке дочерних элементов отсутствуют позиции beginIndex или endIndex .
|
setChildIndex | () | метод |
public function setChildIndex(child:DisplayObject, index:int):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Изменяет положение существующего дочернего элемента в DisplayObjectContainer. Это отражается на иерархическом представлении дочерних объектов. Так, в следующем примере показано три разных объекта с именами a, b и c в позициях индекса 0, 1 и 2 соответственно.
Когда используется метод setChildIndex()
и указывается уже занятая позиция индекса, меняются только позиции между прежней и новой позицией экранного объекта. Все остальные остаются без изменения. Если дочерний объект перемещается на более НИЗКУЮ позицию, позиции всех дочерних объектов между этими позициями станут на 1 ВЫШЕ. Если дочерний объект перемещается на более ВЫСОКУЮ позицию, позиции всех дочерних объектов между этими позициями станут на 1 НИЖЕ. Например, если контейнер экранных объектов из предыдущего примера имеет имя container
, можно поменять позициями экранные объекты с именами a и b, вызвав следующий код:
container.setChildIndex(container.getChildAt(1), 0);
В результате этого объекты выстраиваются следующим образом:
Параметры
child:DisplayObject — Дочерний экземпляр DisplayObject, для которого нужно изменить номер индекса.
| |
index:int — Полученный в результате номер индекса для дочернего экранного объекта child .
|
Выдает
RangeError — Исключение выдается, если индекс не существует в списке дочерних элементов.
| |
ArgumentError — Инициируется, если дочерний параметр не является дочерним элементом данного объекта.
|
Связанные элементы API
Пример ( Использование этого примера )
container
, а затем в него добавляется три немного пересекающихся дочерних экранных объекта. Когда пользователь нажимает на один из этих объектов, метод clicked()
вызывает метод setChildIndex()
, чтобы переместить нажатый объект на верхнюю позицию в списке отображения объекта container
.
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.addEventListener(MouseEvent.CLICK, clicked); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(100, 40, 40); circle2.addEventListener(MouseEvent.CLICK, clicked); var circle3:Sprite = new Sprite(); circle3.graphics.beginFill(0x0000FF); circle3.graphics.drawCircle(70, 80, 40); circle3.addEventListener(MouseEvent.CLICK, clicked); container.addChild(circle1); container.addChild(circle2); container.addChild(circle3); addChild(container); function clicked(event:MouseEvent):void { var circle:Sprite = Sprite(event.target); var topPosition:uint = container.numChildren - 1; container.setChildIndex(circle, topPosition); }
stopAllMovieClips | () | метод |
public function stopAllMovieClips():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 3.8, Flash Player 11.8 |
Рекурсивно останавливает выполнение временной шкалы всех фрагментов MovieClip, размещенных в корне этого объекта.
Дочерние экранные объекты, принадлежащие программной среде, к которой не имеет доступа исполняемый код, игнорируются.
Примечание. Потоковое воспроизведение мультимедиа, управляемое с помощью объекта NetStream, не будет остановлено.
swapChildren | () | метод |
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Меняет местами (в порядке «от начала к концу») два заданных дочерних объекта. Все остальные дочерние объекты в контейнере экранных объектов остаются на прежних позициях.
Параметры
child1:DisplayObject — Первый дочерний объект.
| |
child2:DisplayObject — Второй дочерний объект.
|
Выдает
ArgumentError — Выдается исключение, если любой из дочерних параметров не является дочерним для данного объекта.
|
Пример ( Использование этого примера )
container
, затем в него добавляются два дочерних экранных объекта, после чего иллюстрируется результат вызова метода swapChildren()
.
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); trace(container.getChildAt(0).name); // sprite1 trace(container.getChildAt(1).name); // sprite2 container.swapChildren(sprite1, sprite2); trace(container.getChildAt(0).name); // sprite2 trace(container.getChildAt(1).name); // sprite1
swapChildrenAt | () | метод |
public function swapChildrenAt(index1:int, index2:int):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Меняет местами (в порядке «от начала к концу») дочерние объекты, расположенные в двух заданных позициях индекса в списке дочерних объектов. Все остальные дочерние объекты в контейнере экранных объектов остаются на прежних позициях.
Параметры
index1:int — Позиция индекса первого дочернего объекта.
| |
index2:int — Позиция индекса второго дочернего объекта.
|
Выдает
RangeError — Если ни один индекс не существует в списке дочерних элементов.
|
Пример ( Использование этого примера )
container
, затем в него добавляются три дочерних экранных объекта, после чего показывается, как вызов методаswapChildrenAt()
изменяет список отображения контейнера.
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; var sprite3:Sprite = new Sprite(); sprite3.name = "sprite3"; container.addChild(sprite1); container.addChild(sprite2); container.addChild(sprite3); trace(container.getChildAt(0).name); // sprite1 trace(container.getChildAt(1).name); // sprite2 trace(container.getChildAt(2).name); // sprite3 container.swapChildrenAt(0, 2); trace(container.getChildAt(0).name); // sprite3 trace(container.getChildAt(1).name); // sprite2 trace(container.getChildAt(2).name); // sprite1
DisplayObjectContainerExample
создается последовательность из пяти оранжевых квадратов. Это можно сделать, выполнив следующие действия.
- Конструктор вызывает метод
configureAssets()
. - Метод
configureAssets()
создает объекты Sprite с именамиchild
иlastChild
. - Цикл
for
создает пять оранжевых квадратов и располагает их один за другим. - Каждый раз при создании объекта
CustomSprite
конструктор вызывает его методdraw()
, который рисует квадрат размером 50 х 50 пикселей путем вызова методовbeginFill()
,drawRect()
иendFill()
класса Graphics. МетодaddChild()
добавляет каждый квадрат в список отображения.
package { import flash.display.DisplayObject; import flash.display.Sprite; public class DisplayObjectContainerExample extends Sprite { private var gutter:uint = 5; private var childCount:uint = 5; public function DisplayObjectContainerExample() { configureAssets(); } private function configureAssets():void { var child:Sprite = new CustomSprite(); var lastChild:Sprite = child; for (var i:uint = 1; i <= childCount; i++) { child = new CustomSprite(); child.x = lastChild.x + lastChild.width + gutter; addChild(child); lastChild = child; } } } } import flash.display.Sprite; class CustomSprite extends Sprite { private var size:uint = 50; private var bgColor:uint = 0xFFCC00; public function CustomSprite() { draw(size, size); } private function draw(w:uint, h:uint):void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, w, h); graphics.endFill(); } }
Tue Jun 12 2018, 11:34 AM Z