Нельзя создать экземпляры класса InteractiveObject напрямую. Вызов конструктора
Сам класс InteractiveObject не содержит API-интерфейсов для визуализации содержимого на экране Чтобы создать пользовательский подкласс класса InteractiveObject, расширьте один из подклассов, у которых имеется API для визуализации содержимого на экране, например классы Sprite, SimpleButton, TextField или MovieClip.
Свойство dropAction события указывает действие, заданное целевым объектом перетаскивания; значение none (
С помощью обработчика событий
События
Доступ к перенесенным данным можно получить с помощью свойства
Обработчик этого события должен установить свойство
События
Чтобы экранный объект мог стать целевым объектом перетаскивания, необходимо обрабатывать либо события
Чтобы определить, может ли отправляющий объект принять перетаскиваемые данные, проверьте приемлемость данных в свойстве
Чтобы экранный объект мог стать целевым объектом перетаскивания, необходимо обрабатывать либо события
Чтобы определить, может ли отправляющий объект принять перетаскиваемые данные, проверьте приемлемость данных в свойстве
Отмена этого события в программе AIR предотвращает ввод этого символа в текстовое поле.
В частности, если пользователь ставит пальцы на объект InteractiveObject, а затем перемещает их параллельно, то вдобавок к событию
При обработке свойств объекта Event необходимо учитывать, что в качестве значений свойств
Примечание. Хотя некоторые устройства с ОС Mac OS могут интерпретировать жест выделения четырьмя пальцами, данный API поддерживает только выделение тремя пальцами.
В частности, если пользователь наводит палец на объект InteractiveObject, а затем разводит пальцы в стороны, то вдобавок к событию
При обработке свойств объекта Event необходимо учитывать, что в качестве значений свойств
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь проводит пальцем над объектом InteractiveObject, то вдобавок к событию
При обработке свойств объекта Event необходимо учитывать, что в качестве значений свойств
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь наводит палец на объект InteractiveObject, а затем делает второе касание, то вдобавок к событию
При обработке свойств объекта Event необходимо учитывать, что в качестве значений свойств
В частности, если пользователь проводит пальцем над объектом InteractiveObject, то вдобавок к событию
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь касается двумя пальцами объекта InteractiveObject, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь касается пальцем объекта InteractiveObject, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь проводит пальцем над объектом InteractiveObject, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь проводит пальцем над объектом InteractiveObject, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь проводит пальцем над объектом InteractiveObject, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь проводит пальцем через весь сенсорный экран, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь проводит пальцем через весь сенсорный экран, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь поднимает палец с сенсорного экрана, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
В частности, если пользователь прикасается пальцем к сенсорному экрану, то экземпляр InteractiveObject может отправить события
Примечание. Сведения о совместимости сред см. в описании класса Multitouch.
Цель события
Цель события
Событие
Событие
По умолчанию свойство
Выделение текста двойным щелчком как поведение объекта TextField не связано с событием
Это событие отправляется объекту, который в данный момент находится в фокусе. Связанным объектом этого события является экземпляр InteractiveObject, попадающий в фокус, если не изменить поведение по умолчанию. Чтобы предотвратить изменение фокуса, можно вызвать метод
Это событие отправляется объекту, который в данный момент находится в фокусе. Связанным объектом этого события является экземпляр InteractiveObject, попадающий в фокус, если не изменить поведение по умолчанию. Чтобы предотвратить изменение фокуса, можно вызвать метод
Вызов этого метода наводит фокус на экземпляр InteractiveObject и вызывает программную клавиатуру, если необходимо. Значение
Примечание. Этот метод не поддерживается в приложениях AIR для iOS.
Для содержимого, запущенного в проигрывателе Flash Player, это свойство является объектом ContextMenu. В среде выполнения AIR класс ContextMenu расширяет класс NativeMenu, однако Flash Player поддерживает только класс ContextMenu, но не класс NativeMenu.
Примечание. Объекты TextField всегда содержат меню буфера обмена в контекстном меню. Меню буфера обмена включает команды «Вырезать», «Копировать», «Вставить» и «Выбрать все». Удалить эти команды из контекстного меню для объектов TextField невозможно. Для объектов TextField выбор этих команд (или сочетаний клавиш, эквивалентных элементу меню) не приводит к генерации событий
При настройке данного свойства события не отправляются. Чтобы добавить прослушиватель события
При настройке данного свойства события не отправляются. Чтобы создать интерактивные функции, необходимо использовать метод
По умолчанию задано значение
Экземпляр InteractiveObject передает события
Примечание. Это свойство не поддерживается в приложениях AIR для iOS.
Если для свойства
Укажите
Примечание. В ОС Android
Если какой-либо отображаемый в данный момент объект в SWF-файле имеет свойство
Свойство
Пользовательская последовательность перехода с помощью клавиши Tab, определяемая свойством
Примечание. Чтобы установить порядок табуляции для экземпляров TLFTextField, передайте дочерний объект экранного объекта TLFTextField как InteractiveObject, затем задайте свойство
InteractiveObject(tlfInstance.getChildAt(1)).tabIndex = 3;Чтобы изменить порядок табуляции по умолчанию на обратный для трех экземпляров объекта TLFTextField (
InteractiveObject(tlfInstance1.getChildAt(1)).tabIndex = 3; InteractiveObject(tlfInstance2.getChildAt(1)).tabIndex = 2; InteractiveObject(tlfInstance3.getChildAt(1)).tabIndex = 1;
Векторы треугольников могут не содержать координату z и не представлять трехмерные поверхности. Однако, контур треугольника может быть использован для визуализации трехмерных геометрических объектов в двухмерном пространстве.
В координатах UV точка (0,0) — это верхняя левая точка, а точка (1,1) — нижняя правая точка растрового изображения.
Если длина этого вектора в два раза превышает длину вектора
Если длина этого вектора в три раза превышает длину вектора
Может быть настроено на использование любого значения класса TriangleCulling.
Класс DisplayObject поддерживает базовые функции, такие как положение объекта по осям x и y, а также некоторые расширенные свойства объекта, такие как матрица преобразования.
DisplayObject — это абстрактный базовый класс, поэтому DisplayObject нельзя вызывать непосредственно. При вызове
Все экранные объекты наследуют свойства и методы класса DisplayObject.
Сам класс DisplayObject не содержит API-интерфейсов для визуализации содержимого на экране По этой причине, если требуется создать пользовательский подкласс класса DisplayObject, нужно расширить один из его подклассов, в которых есть API-интерфейс для визуализации содержимого на экране, такие как классы Shape, Sprite, Bitmap, SimpleButton, TextField и MovieClip.
Класс DisplayObject содержит несколько многоадресных событий. Как правило, целью любого конкретного события является конкретный экземпляр DisplayObject. Например, целью события
Некоторые свойства, которые ранее использовались в ActionScript 1.0 и 2.0 в классах MovieClip, TextField и Button (такие как
Дополнительные сведения см. в главе «Программирование экрана» Руководства разработчика по ActionScript 3.0.
Примечание. Это событие не отправляется, если дисплей не выполняет визуализацию. Это происходит, когда содержимое свернуто или скрыто.
Следующие методы объекта DisplayObjectContainer также генерируют это событие, если один объект должен быть удален с целью освобождения места для нового:
Следующие методы объекта DisplayObjectContainer также генерируют это событие, если один объект должен быть удален с целью освобождения места для нового:
Примечание. Используйте методы
Метод
Примечание. Используйте методы
Чтобы воспользоваться этим методом, сначала нужно создать экземпляр класса Point. Присвоенные объекту Point значения x и y представляют глобальные координаты, так как они указаны относительно исходной точки (0, 0) основной области отображения. Затем передайте объект Point методу
Чтобы воспользоваться этим методом, сначала нужно создать экземпляр класса Point. Присвоенные вами значения x и y представляют глобальные координаты, так как они указаны относительно исходной точки (0,0) основной области отображения. Затем экземпляр Point следует передать в качестве параметра методу
Например, вы можете использовать только двухмерные координаты (x,y) для рисования при помощи методов
Этот метод позволяет преобразовать заданные координаты x и y из значений относительно исходной точки (0, 0) конкретного объекта (локальных координат) в значения относительно исходной точки рабочей области (глобальные координаты).
Чтобы воспользоваться этим методом, сначала нужно создать экземпляр класса Point. Присвоенные вами значения x и y представляют локальные координаты, так как они указаны относительно исходной точки экранного объекта.
Затем созданный экземпляр Point передается в качестве параметра методу
Примечание. Для объектов, созданных в среде разработки Flash, значение
Свойство
В следующей таблице описываются параметры
Например, если составляющий цвет (например, красный) одного пикселя в экранном объекте и соответствующий цвет пикселя в фоне имеют значение 0х88, то в результате умножения получается 0х4840. Деление на 0хFF дает значение 0х48 для данного составляющего цвета, принимающего более темный оттенок, чем в экранном объекте и фоне.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xFFCC33, а RGB пиксела фона имеет значение 0xDDF800, то значением RGB отображаемого пиксела является 0xFFF833 (так как 0xFF > 0xDD, 0xCC < 0xF8 и 0x33 > 0x00 = 33). Не поддерживается при визуализации с использованием графического процессора.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xFFCC33, а RGB пиксела фона имеет значение 0xDDF800, то значением RGB отображаемого пиксела является 0xDDCC00 (так как 0xFF > 0xDD, 0xCC < 0xF8 и 0x33 > 0x00 = 33). Не поддерживается при визуализации с использованием графического процессора.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xFFCC33, а RGB пиксела фона имеет значение 0xDDF800, то значением RGB отображаемого пиксела является 0x222C33 (так как 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C и 0x33 - 0x00 = 0x33).
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xAAA633, а RGB пиксела фона имеет значение 0xDD2200, то значением RGB отображаемого пиксела является 0xFFC833 (так как 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8 и 0x33 + 0x00 = 0x33).
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xAA2233, а RGB пиксела фона имеет значение 0xDDA600, то значением RGB отображаемого пиксела является 0x338400 (так как 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84 и 0x00 - 0x33 < 0x00).
Поддержка профиля AIR: эта функция поддерживается на мобильных устройствах, но не поддерживается в компьютерных операционных системах. Поддержка также ограничена в среде AIR для телевизионных устройств. В частности, в среде AIR для телевизионных устройств поддерживаемые преобразования включают масштабирование и перенос, но не поворот или наклон. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «
Когда задано свойство
Чтобы использовать аппаратное ускорение, во Flash Professional CS5 откройте диалоговое окно «Настройки iPhone», перейдите на вкладку «Общие» и задайте для параметра «Визуализация» значение «Графический процессор». Также можно задать свойству
Например, следующий код отправляет непреобразованное растровое представление экранного объекта в графический процессор:
Обычно достаточно использовать матрицу идентичности (
Как правило, следует использовать такую матрицу, которая преобразует экранный объект до размера, используемого в программе. Например, если в приложении отображается вдвое уменьшенная растровая версия спрайта, следует использовать матрицу, которая в два раза уменьшает масштаб изображения. Если в приложении должен отображаться спрайт, размеры которого превышают текущие, используйте матрицу, которая выполняет масштабирование с требуемым коэффициентом.
Примечание. Свойство
Все векторные данные для экранного объекта, имеющего кэшированный растр, вырисовываются в растровом изображении, а не в основной области отображения. Если
Если свойство
Внутреннее растровое представление создается, только если свойство
После задания свойству
Свойство
В следующих случаях экранный объект не использует растровое изображение, даже если свойство
Свойство
Фильтры можно применять в ходе работы в инструменте разработки Flash Professional или во время выполнения с использованием кода ActionScript. Чтобы применить фильтр с помощью ActionScript, необходимо создать временную копию всего массива
Чтобы добавить фильтр с помощью ActionScript, выполните следующие действия (предположим, что целевой экранный объект называется
Если массив
Чтобы изменить существующий объект filter, необходимо использовать прием изменения копии массива
Если экранный объект имеет соответствующий фильтр, то во время загрузки он помечается для кэширования в виде прозрачного растрового изображения. С этого момента проигрыватель кэширует экранный объект в виде растрового изображения, если этот объект имеет действительный список фильтров. Исходное растровое изображение используется в качестве источника для эффектов фильтра. Каждый экранный объект, как правило, имеет два растровых изображения: одно с исходным нефильтрованным экранным объектом, а другой для конечного изображения, полученного после фильтрации. Конечное изображение используется при визуализации. Если экранный объект не изменяется, конечное изображение не обновляется.
Пакет flash.filters включает классы фильтров. Например, чтобы создать фильтр DropShadow, необходимо использовать код:
Можно использовать оператор
Примечание. Так как нельзя добавить новый объект filter напрямую в массив
За исключением объектов TextField и Video, экранные объекты без содержимого (например, пустой спрайт), имеют высоту 0, даже если задать свойству
Загрузку большого SWF-файла можно отслеживать с помощью метода
Чтобы обеспечить масштабирование объекта mask, его необходимо добавить в список отображения. Чтобы обеспечить возможность перетаскивания маскирующего объекта Sprite (вызовом метода
Когда экранные объекты кэшируются путем установки для свойства
Примечание. Один объект
Примечание. Для повернутого объекта DisplayObject возвращенная координата x будет характеризовать объект, поворот которого не выполнен.
Примечание. Для повернутого объекта DisplayObject возвращенная координата y будет характеризовать объект, поворот которого не выполнен.
Если задать численное значение, поверхность будет непрозрачной, а RGB-цвет фона будет соответствовать заданному числу. Если оставить значение по умолчанию
Свойство
Непрозрачная область фона не сопоставляется при вызове метода
Непрозрачная область фона не реагирует на события мыши.
Свойство
Например, если создается новый объект Sprite путем вызова метода конструктора
Для загруженного SWF-файла, несмотря на то, что объект Loader, использованный для загрузки, может не входить в список отображения, свойством
scale9Grid
set for the movie clip, the thickness of the 20-pixel line does not
vary when the clip scales (although the gradient in the movie clip does scale):
При определении свойства
Восемь областей за пределами центра (ограниченного прямоугольником) можно рассматривать как рамку изображения, к которому при масштабировании применяются особые правила.
При масштабировании объекта отображения с определенным свойством
При повороте экранного объекта последующее масштабирование выполняется в обычном режиме (и свойство
В качестве примера рассмотрим следующий экранный объект и прямоугольник, применяемый в качестве его свойства
Экранный объект.
Красный прямоугольник показывает
При масштабировании или растягивании экранного объекта объекты в пределах прямоугольника масштабируются в обычном порядке, а объекты за его пределами масштабируются согласно правилам
Как правило, параметр
Масштабирование локальной системы координат изменяет значения свойств
Масштабирование локальной системы координат изменяет значения свойств
Масштабирование локальной системы координат изменяет значения свойств
Свойства объекта
Можно прокручивать объект влево и вправо, настроив свойство
Если экранный объект не добавлен в список отображения, его свойство
Каждое из свойств объекта transform представляет собой объект. Это очень важно, так как единственным способом задать новые значения для объектов matrix или colorTransform является создание нового объекта и его копирование в свойство transform.matrix или transform.colorTransform.
Например, чтобы увеличить значение
var myMatrix:Matrix = myDisplayObject.transform.matrix; myMatrix.tx += 10; myDisplayObject.transform.matrix = myMatrix;
Свойство
myDisplayObject.transform.matrix.tx += 10;
Также можно копировать весь объект transform и назначить его свойству transform другого экранного объекта. Например, следующий код копирует весь объект transform из
Полученный экранный объект,
Обратите внимание, что в среде AIR для телевизионных устройств используется аппаратное ускорение, если оно доступно, для преобразований цветов.
За исключением объектов TextField и Video, экранные объекты без содержимого (например, пустой спрайт), имеют ширину 0, даже если задать свойству
При установке свойства
Например, потомок объекта
Применение свойства
Присвоенный свойству
При присвоении данному свойству экземпляра объекта Shader происходит копирование затенения на внутреннем уровне. При выполнении операции наложения используется эта копия, а не ссылка на исходное затенение. Изменения параметров затенения (изменение значения параметра, ввода или байт-кода) не влияют на используемую для наложения копию затенения.
Используйте класс URLLoader для загрузки текстовых или двоичных данных.
Класс Loader переопределяет следующие наследуемые методы, так как объект Loader может иметь только один дочерний объект отображения — объект, загруженный им. При вызове следующих методов создается исключение:
Примечание. Классы ActionScript 2.0 MovieClipLoader и LoadVars не используются в ActionScript 3.0. Они заменяются классами Loader и URLLoader.
При использовании класса Loader необходимо продумать модель безопасности Flash Player и Adobe AIR.
Однако в AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Возможно, при загрузке SWF-файла из ненадежного источника (такого как домен, не являющийся доменом корневого SWF-файла объекта Loader) потребуется определить маску для объекта Loader, чтобы предотвратить отрисовку загруженного содержимого (например, дочернего объекта объекта Loader) в областях рабочей области, находящихся за пределами этой маски, как показано в следующем коде:
Необходимо учитывать следующие требования.
Экземпляр Loader можно также использовать автономно, то есть без добавления в контейнер объекта в списке отображения. В этом режиме экземпляр Loader может использоваться для загрузки SWF-файла, содержащего дополнительные модули приложения.
О завершении загрузки SWF-файла можно узнать, используя события объекта LoaderInfo, связанные со свойством
Чтобы узнать состояние объекта Loader, отслеживайте следующие события, которые объект LoaderInfo связал со свойством
Если параметр
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Метод
При использовании данного метода необходимо учесть модель безопасности проигрывателя Flash Player, рассмотренную в описании класса Loader.
Если параметр
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Метод
При использовании данного метода необходимо учесть модель безопасности проигрывателя Flash Player, рассмотренную в описании класса Loader.
MovieClipLoader.loadClip()
method by creating a handler for the onLoadInit
event and then making the request.
You should either place the following code directly into a frame action on a Timeline, or paste it into a class that extends MovieClip. This code also expects an image named YourImage.jpg to exist in the same directory as the compiled SWF file.
Если параметр
Полные сведения см. в описании свойств класса
Примечание. В AIR 1.5 и Flash Player 10 максимальный размер загруженного изображения составляет 8,191 пикселей в ширину или высоту, а общее количество пикселей не может превышать 16,777,215. (Т. е. если ширина загруженного изображения составляет 8,191 пикселей, его высота не может быть больше 2 048 пикселей.) В проигрывателе Flash Player 9 и более ранних версий, а также в AIR 1.1 и более ранних версий, это ограничение составляет 2 880 пикселей в высоту и 2 880 пикселей в ширину.
SWF-файл или изображение, загруженное в объект Loader наследует свойства положения, поворота и масштаба родительских экранных объектов объекта Loader.
Используйте метод
Можно запретить использование SWF-файлом этого метода путем установки параметра
При использовании данного метода необходимо учесть модель безопасности проигрывателя Flash Player, рассмотренную в описании класса Loader.
В приложении Flash Player 10 и более поздней версии при использовании типа содержимого multipart (например, multipart/form-data), в котором содержится загрузка (обозначена параметром filename в заголовке content-disposition в теле оператора POST), к операции POST применяются правила безопасности для загрузок:
Кроме того, все объекты типа содержимого multipart должны иметь допустимый синтаксис (в соответствии со стандартом RFC2046). Если синтаксис является недопустимым, к операции POST применяются правила безопасности, действующие для загрузок.
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Перед загрузкой дочернего SWF-файла лучше всего явно закрыть все потоки объектов дочернего SWF-файла, таких как LocalConnection, NetConnection, NetStream и Sound. В противном случае в дочернем SWF-файле может продолжаться воспроизведение звука, несмотря на его загрузку. Чтобы закрыть потоки в дочернем SWF-файле, добавьте для него прослушиватель события
function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
События, связанные с загрузкой, отправляются объектом LoaderInfo, на который ссылается свойство
Чтобы обнаружить неперехваченные ошибки, которые происходят в загруженном SWF, используйте свойство
Обратите внимание, что свойство
Если содержимое, загруженное объектом Loader, является SWF-файлом версии AVM1 (ActionScript 2), неперехваченные ошибки в этом файле не приводят к отправке события
В конструкторе код создает объект Loader и регистрирует прослушиватель события
В методе
Элементом меню может быть команда, подменю или разделительная линия.
Прослушивайте события
Прослушивайте это событие, чтобы обновить элемент перед отображением содержащего его меню или когда пользователь нажимает его эквивалентную комбинацию клавиш. Событие
Событие
Событие
Событие
Примечание. Если окно, содержащее меню, показывается в полноэкранном режиме (
Чтобы создать команду меню, задайте параметр
Чтобы создать команду подменю, создайте элемент команды, а затем назначьте объект подменю NativeMenu свойству элемента
Чтобы создать разделитель, задайте параметр
Добавляйте и удаляйте элементы из меню с помощью методов NativeMenu
Этому свойству можно назначить любой объект. Назначенный объект не используется системой меню, но доступен для кода обработки события (через свойство target объекта событий). По умолчанию в качестве значения этого свойства выбрано
Создайте разделительную линию, задав для параметра
Используйте константы, определенные в классе Keyboard, чтобы указать коды клавиш для модификаторов. Допускаются следующие клавиши-модификаторы:
Если не назначено других модификаторов, по умолчанию в Windows или Linux указывается клавиша
Если свойству
Задайте
По умолчанию в комбинацию клавиш включается модификатор эквивалентной комбинации клавиш (Ctrl для Windows или Linux и Command для Mac OS X). Если в эквивалентную комбинацию клавиш не должны входить модификаторы, установите свойство
Символ в указанном положении является мнемоническим для элемента меню. Индекс строится с нуля, поэтому первый символ имеет индекс 0.
Данное свойство игнорируется в операционных системах, не использующих мнемосхемы меню.
Значение имени не отображается, его можно использовать в качестве идентификатора, независимого от локали. Имя не назначается автоматически.
Назначение объекта NativeMenu данному свойству изменяет вид и поведение элемента меню. Элемент подменю отображает значок подменю и перестает передавать события select.
Примечание. Добавление меню в качестве подменю для самого себя (по циклической ссылке) может привести к зависанию приложения.
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах, но не поддерживается на мобильных устройствах или в средах AIR для телевизионных устройств. Используйте свойство
Собственное меню — это меню, которое управляется и отображается операционной системой, а не программой. AIR поддерживает следующие типы собственных меню:
Объект меню содержит элементы меню. Элементом меню может быть команда, подменю или разделительная линия. Добавить элементы в меню можно с помощью метода
Чтобы создать подменю, добавьте элемент меню в родительский объект меню. Назначьте объект меню, представляющий подменю, свойству
Примечание. Корневое меню окна и меню программы должны содержать только элементы подменю. Элементы, не представляющие собой подменю, не показываются, так как они противоречат ожиданиям пользователей от меню такого типа.
Меню отправляют события
Меню отправляют события
Примечание. Если используется ПО Flex Framework, рекомендуется использовать класс FlexNativeMenu. Обычно легче определить меню путем объявления в MXML, чем писать код ActionScript для создания каждого элемента структуры меню
Прослушивайте это событие, чтобы обновить перед его отображением или когда пользователь нажимает его эквивалентную комбинацию клавиш. Событие
Событие
Прослушивайте это событие для обновления меню перед показом. Событие
Событие
Примечание. До версии AIR 2.6 для Mac OS X меню и элементы меню отправляли событие
Событие
Примечание. Добавление элемента к меню может привести к зависанию приложения, если подменю элемента установлено на собственное меню (вызывает циклическую ссылку).
При создании контекстного меню можно добавлять объекты NativeMenuItem или ContextMenuItem. Однако рекомендуется использовать только один тип объектов в контекстном меню, чтобы все элементы меню имели одинаковые свойства.
Примечание. Добавление элемента к меню может привести к зависанию приложения, если подменю элемента установлено на собственное меню (вызывает циклическую ссылку).
Вызов метода
Примечание. Добавление меню в качестве подменю для самого себя (по циклической ссылке) может привести к зависанию приложения.
Вызов метода
Примечание. Добавление меню в качестве подменю для самого себя (по циклической ссылке) может привести к зависанию приложения.
Примечание. Свойство
Массив сортируется в порядке отображения.
Примечание. Это свойство доступно только для чтения в AIR 1.0. Оно становится доступным для чтения или записи в AIR 1.1.
Примечание:: Когда ориентация устройства вращается слева, ориентация рабочей область должна вращаться правая, чтобы остаться вертикальной.
Примечание:: Когда ориентация устройства вращается правая, ориентация рабочей область должна вращаться слева, чтобы остаться вертикальной.
DisplayObject — это абстрактный базовый класс, поэтому DisplayObject нельзя вызывать непосредственно. При вызове
Дополнительные сведения см. в главе «Программирование экрана» Руководства разработчика по ActionScript 3.0.
Так, в следующем примере представлено три объекта отображения с метками а, b и c в позициях индекса 0, 1 и 2 соответственно.
При добавлении дочернего объекта, уже имеющего отличный от других контейнер объекта отображения в качестве родительского элемента, объект удаляется из списка дочерних элементов другого контейнера объекта отображения.
При добавлении дочернего объекта, уже имеющего отличный от других контейнер объекта отображения в качестве родительского элемента, объект удаляется из списка дочерних элементов другого контейнера объекта отображения.
Примечание. Команда
Параметр
Метод
Параметр
Сборщик мусора перераспределяет неиспользуемый объем памяти. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок
Сборщик мусора перераспределяет неиспользуемый объем памяти. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок
Когда используется метод
В результате этого объекты выстраиваются следующим образом:
Это свойство удобно использовать, когда кнопка создается с помощью экземпляра класса Sprite (а не класса SimpleButton). Когда для создания кнопки используется экземпляр Sprite, при желании можно украсить кнопку с помощью метода
При настройке данного свойства события не отправляются. Чтобы создать интерактивные функции, необходимо использовать метод
Примечание. Свойство
Используйте объект GraphicsGradientFill совместно с методом
Примечание. Это значение показывает позиции в окне градиента, а не в координатной плоскости конечного градиента, которая может быть шире или уже окна градиента. Укажите величину каждого значения в свойстве
Например, для линейного градиента, состоящего из двух цветов (синего и зеленого) приводится пример, в котором представлено размещение цветов в градиенте, созданном с использованием разных значений массива
Значения в массиве должны увеличиваться последовательно, например
Например, рассмотрим простой линейный градиент между двумя цветами (когда параметру
Ниже приведен пример простого линейного градиента между двумя цветами:
В этом примере используется метод нанесения
При использовании метода нанесения
При использовании метода нанесения
Объект Sprite напоминает фрагмент ролика, но не имеет временной шкалы. Sprite — это подходящий базовый класс для объектов, не требующих временной шкалы. Например, будет логично использовать класс Sprite в качестве базы для компонентов пользовательского интерфейса, для которых обычно не используется временная шкала.
Класс Sprite является новым в ActionScript 3.0. Это альтернатива для функций класса MovieClip, сохраняющая все возможности предыдущих версий ActionScript с целью обеспечения совместимости.
Примечание. Каждый метод прослушивателя событий объявляет локальную переменную
Трехмерные объекты отображения управляются указателем, а метод
Трехмерные объекты отображения управляются указателем, а метод
В целом, для создания кнопок лучше использовать класс SimpleButton, однако свойство
Если свойство
Свойство
Примечание. Необходимо задать значение
Примечание. Это свойство не затрагивает содержимое HTML объекта HTMLControl (в Adobe AIR).
Свойство
Примечание. Если во Flex или Flash Builder спрайт имеет дочерние спрайты, может потребоваться задание для свойства
Используйте объект GraphicsBitmapFill совместно с методом
При значении
Например, рассмотрим следующее растровое изображение (рисунок «шахматная доска» 20 х 20 пикселей):
Когда для
Когда для
При выборе значения
Используйте объект GraphicsStroke совместно с методом
Если значение не задано, для линии не используется хинтинг пикселей.
Следующий пример иллюстрирует разные параметры класса
Следующий пример иллюстрирует разные параметры
Примечание. Для
Рассмотрим следующие углы, все составленные из линий с
Обратите внимание, что данное значение
Рассмотрим следующие углы, все составленные из линий с
Обратите внимание, что данное значение
Следующий пример иллюстрирует разные параметры класса
Следующий пример иллюстрирует разные параметры
Примечание. Для
Рисование объекта GraphicsEndFill эквивалентно вызову метода
Выбор режима точности затенения влияет на следующие операции затенения. При использовании процессора Intel с набором инструкций SSE данные операции выполняются быстрее:
Быстрый режим точности предусмотрен для максимального повышения производительности, но он дает несогласованные результаты для разных платформ и индивидуальных конфигураций ЦП. Во многих случаях этого уровня точности достаточно для создания графических эффектов без видимых искажений.
Часто быстрый режим точности дает больше производительности, чем при использовании справочных таблиц.
При выполнении операции затенения в режиме максимальной точности вычисления производятся по 32-разрядному стандарту IEEE с плавающей запятой. Работа в данном режиме поддерживается всеми платформами. Вычисление некоторых математических функций в этом режиме, например тригонометрических и экспонентных, может выполняться очень медленно.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xAAA633, а RGB пиксела фона имеет значение 0xDD2200, то значением RGB отображаемого пиксела является 0xFFC833 (так как 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8 и 0x33 + 0x00 = 0x33).
Не поддерживается при визуализации с использованием графического процессора.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xFFCC33, а RGB пиксела фона имеет значение 0xDDF800, то значением RGB отображаемого пиксела является 0xDDCC00 (так как 0xFF > 0xDD, 0xCC < 0xF8 и 0x33 > 0x00 = 33).
Не поддерживается при визуализации с использованием графического процессора.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xFFCC33, а RGB пиксела фона имеет значение 0xDDF800, то значением RGB отображаемого пиксела является 0x222C33 (так как 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C и 0x33 - 0x00 = 0x33).
Не поддерживается при визуализации с использованием графического процессора.
Не поддерживается при визуализации с использованием графического процессора.
Не поддерживается при визуализации с использованием графического процессора.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xFFCC33, а RGB пиксела фона имеет значение 0xDDF800, то значением RGB отображаемого пиксела является 0xFFF833 (так как 0xFF > 0xDD, 0xCC < 0xF8 и 0x33 > 0x00 = 33).
Не поддерживается при визуализации с использованием графического процессора.
Например, если составляющий цвет (например, красный) одного пикселя в экранном объекте и соответствующий цвет пикселя в фоне имеют значение 0х88, то в результате умножения получается 0х4840. Деление на 0хFF дает значение 0х48 для данного составляющего цвета, принимающего более темный оттенок, чем в экранном объекте и фоне.
Не поддерживается при визуализации с использованием графического процессора.
Применение свойства
Не поддерживается при визуализации с использованием графического процессора.
Например, если в экранном объекте есть пиксел со значением RGB, равным 0xAA2233, а RGB пиксела фона имеет значение 0xDDA600, то значением RGB отображаемого пиксела является 0x338400 (так как 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84 и 0x00 - 0x33 < 0x00).
Нельзя создать объект Graphics непосредственно из кода ActionScript. Можно вызвать функцию
Класс Graphics является конечным, его нельзя разбить на подклассы.
Например, рассмотрим следующее растровое изображение (рисунок «шахматная доска» 20 х 20 пикселей):
Когда для
Когда для
В приложении заливка отображается при рисовании трех и более точек или вызове метода
В приложении заливка отображается при рисовании трех и более точек или вызове метода
Примечание. Это значение показывает позиции в окне градиента, а не в координатной плоскости конечного градиента, которая может быть шире или уже окна градиента. Укажите величину каждого значения в параметре
Например, линейный градиент включает два цвета: синий и зеленый. Ниже иллюстрируется размещение цветов в градиенте, созданном с использованием разных значений массива
Значения в массиве должны увеличиваться последовательно, например
Например, рассмотрим простой линейный градиент между двумя цветами.
В этом примере используется метод нанесения
При использовании метода нанесения
При использовании метода нанесения
Например, рассмотрим простой линейный градиент между двумя цветами (параметру
В приложении заливка отображается при рисовании трех и более точек или вызове метода
При передаче экземпляра объекта Shader в качестве аргумента происходит копирование затенения на внутреннем уровне. При выполнении операции рисования заливки используется эта копия, а не ссылка на исходное затенение. Изменения параметров затенения (изменение значения параметра, ввода или байт-кода) не влияют на используемую для заливки копию затенения.
В основе полученных в затенении координат лежит матрица, указанная для параметра
В приложении заливка отображается при рисовании трех и более точек или вызове метода
Заливки с затенением не поддерживаются при визуализации с использованием графического процессора. Области заливки будут окрашены в голубой цвет.
Нарисованная кривая является квадратичной кривой Безье. Квадратичные кривые Безье состоят из двух точек привязки и одной опорной точки. Кривая соединяет две точки привязки с искривлением в направлении опорной точки.
Нарисуйте четыре кривых, образующих круг, и заполните фигуру зеленым цветом.
Обратите внимание на то, что вследствие характера квадратичного уравнения Безье этот круг не является идеальным. Лучше всего рисовать круг с использованием метода
Рисуются две кривые линии толщиной 1 пиксель, фигура заливается белым цветом. Метод
Графические контуры могут содержать другие графические контуры. Если вектор
Как правило, рисунки визуализируются быстрее при помощи метода
При вычислениях методом
Метод
Если длина этого вектора в два раза превышает длину вектора
Если длина этого вектора в три раза превышает длину вектора
Если параметру
Можно использовать любую заливку. Однако все встроенные в заливках матрицы преобразования игнорируются.
При использовании растровой заливки параметр
Стиль линии растрового изображения используется при последующих вызовах таких методов Graphics, как
Метод
Вызовите метод
Вызовы функции
Например, линейный градиент включает два цвета: синий и зеленый. Ниже иллюстрируется размещение цветов в градиенте, созданном с использованием разных значений массива
Значения в массиве должны увеличиваться последовательно, например
Стиль линии градиента используется при последующих вызовах следующих методов Graphics:
Метод
Вызовите метод
Вызовы функции
Метод
Стиль затенения линии используется при последующих вызовах таких методов Graphics, как
Метод
Вызовите метод
Вызовы функции
miterLimit
set to 1:
Если значение не задано, для линии не используется хинтинг пикселей.
Следующий пример иллюстрирует разные параметры класса
Следующий пример иллюстрирует разные параметры
Примечание. Для
Рассмотрим следующие углы, все составленные из линий с
Обратите внимание, что данное значение
Метод
Примечание. Вызовы функции
Примечание. Flash Lite 4 поддерживает только первые три параметра (
Толщина линии равна 10 пикселям, цвет — золотой, непрозрачный, концы линий не определены (так как все они заканчиваются на стыках), для стыков линий выбран тип
С помощью метода
Поскольку
Примечание. Значение type задается при создании окна и не может изменяться впоследствии.
Экраны — это независимые области рабочего стола внутри одного, возможно, большего по размеру «виртуального рабочего стола». Исходная точка виртуального рабочего стола находится в верхнем левом углу главного экрана операционной системы. Таким образом, координаты границ отдельного экрана дисплея могут быть отрицательными. Также могут быть области виртуального рабочего стола, не входящие ни в один экран отображения.
Класс Screen, содержит статические элементы класса для обращения к доступным экранным объектам и элементы экземпляров для обращения к свойствам отдельных экранов. Информацию об экранах не следует сохранять в кэше, так как пользователь может в любой момент ее изменить.
Обратите внимание, что между экранами и физическими мониторами, подключенными к компьютеру, не обязательно должно быть соотношение один к одному. Например, два монитора могут показывать один и тот же экран.
Нельзя создать экземпляры класса Screen напрямую. Вызовы конструктора
Обратите внимание на то, что этот класс следует использовать как корневой класс приложения AIR с настройками
Местоположение экрана определяется относительно виртуального рабочего стола
В системах Linux, использующих менеджеры окон, это свойство возвращает границы рабочего стала, а не видимые границы экрана.
Модификация возвращенного массива не будет оказывать влияния на доступные экраны.
В границы
Примечание. Полноэкранные режимы настраиваются с использованием свойства
Конструктор
Объект Bitmap может использовать свою ссылку BitmapData совместно с несколькими объектами Bitmap, независимо от свойств сдвига или поворота. Поскольку можно создать несколько объектов Bitmap, ссылающихся на один объект BitmapData, несколько экранных объектов могут использовать один сложный объект BitmapData, что предотвращает чрезмерную загрузку памяти в случае использования индивидуальных объектов BitmapData для каждого экземпляра экранного объекта.
Объект BitmapData можно вызвать на экран объектом Bitmap одним из двух способов: с помощью векторного средства визуализации, такого как фигура, заполненная растровым изображением, или с использованием более быстрой подпрограммы копирования пикселей. Подпрограмма копирования пикселей работает намного быстрее, чем векторное средство визуализации, но объект Bitmap должен соответствовать определенным условиям для его использования.
Если объект Bitmap загружается не с того домена, на котором находится объект Loader, используемый для загрузки изображения, и не предусмотрено файла политики URL-адресов, предоставляющего доступ к домену объекта Loader, тогда сценарий в этом домене не может получить доступ к объекту Bitmap, его свойствам и методам. Для получения дополнительной информации см. раздел центра разработчиков Flash Player
Примечание. Класс Bitmap не является подклассом класса InteractiveObject, поэтому он не может отправлять события мыши. Однако можно использовать метод
Примечания.
Эти свойства применяются к объекту ShaderData при его создании. Имена свойств совпадают с именами, указанными в исходном коде затенения. Типы данных каждого свойства различаются в зависимости от представляемого свойством аспекта затенения. Например, свойства, представляющие параметры затенения, являются экземплярами ShaderParameter, свойства, представляющие изображения ввода, являются экземплярами ShaderInput, а свойства, представляющие метаданные затенения, относятся к классу ActionScript в зависимости от их типа данных (экземпляр String для метаданных в формате текста и uint для метаданных типа uint).
Рассмотрим пример затенения, который характеризуется одним изображением ввода (
Если при создании экземпляра Shader использовался байт-код данного затенения, то в свойстве
Обратите внимание на то, что каждое изображение ввода или параметр, определенные в исходном коде затенения, но не используемые в функции
Обычно, в коде разработчика создание экземпляра ShaderData не заложено. Экземпляр ShaderData, содержащий данные, параметры и вводы для затенения, доступен в качестве свойства
Обратите внимание, что в этом примере мы исходим из того, что существует файл байт-кодов с именем donothing.pbj, хранящийся в каталоге, который является выходным для приложения.
Существует две основные причины использования затенения в автономном режиме.
Свойство
Перед выполнением операции ShaderJob необходимо указать объект, в который записывается результат, путем его настройки в качестве значения свойства
Чтобы начать операцию фонового затенения, вызовите метод
Для синхронного выполнения затенения (то есть не в фоновом режиме) вызовите метод
Многократный вызов метода
В асинхронном режиме (если для параметра
Одновременно может выполняться только одна фоновая операция ShaderJob. Все операции затенения помещаются в очередь и выполняются последовательно. При вызове метода
Чтобы выполнить операцию затенения в синхронном режиме, вызовите метод
При вызове метода
На время выполнения операции затенения значение объекта
При вызове метода
Для обработки массива ByteArray, данные в котором расположены линейно (в отличие от данных изображения), задайте параметры соответствующего экземпляра ShaderInput следующим образом: для
Системным Chrome называются элементы окна, определяемые операционной системой, такие как строка заголовка, кнопки «Свернуть», «Развернуть» и «Закрыть».
Примечание. Тип системного Chrome задается при создании окна и не может изменяться впоследствии.
Не использовать.
Используйте этот параметр, чтобы имитировать внешний вид собственной операционной системы.
Во Flash Professional кнопке можно присвоить имя экземпляра в инспекторе свойств. Имена экземпляров SimpleButton отображаются в обозревателе ролика Movie Explorer и в диалоговом окне «Целевой путь» на панели «Действия». Создав экземпляр кнопки в Flash Professional, можно использовать методы и свойства класса SimpleButton для манипуляции с кнопками с помощью ActionScript.
В ActionScript 3.0 для создания экземпляра SimpleButton используется конструктор
Класс SimpleButton наследует методы и свойства класса InteractiveObject.
Примечание. Для предотвращения событий mouseClicks для кнопки установите оба свойства —
Свойство
myBtn1_btn
and myBtn2_btn
. Enter the following ActionScript in Frame 1 of the Timeline:
When the mouse is over and clicks myBtn1_btn
, there is no pointing hand. However, you see the pointing hand when the button is over and clicks myBtn2_btn
.
Свойство
Термины
Считается, что если векторы 0, 1 и 2 треугольника расположены по часовой стрелке, значение его нормали положительное. Иными словами, его нормаль указывает на положительное направление оси z от текущей точки обзора. При использовании алгоритма
Если векторы треугольника расположены против часовой стрелки, значение его нормали отрицательное. Иными словами, его нормаль указывает на отрицательное направление оси z по отношению к текущей точке обзора. При использовании алгоритма
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах, но не поддерживается на мобильных устройствах или в средах AIR для телевизионных устройств. Используйте свойство
Ссылка на экземпляр NativeWindow возвращается конструктором окон. Ссылка на экземпляр NativeWindow также доступна через свойство
var window:NativeWindow = displayObject.stage.nativeWindow;
Свойства экземпляра NativeWindow может получать только содержимое приложения. Если содержимое не из приложения попытается обратиться к объекту NativeWindow, будет отправлена ошибка системы безопасности.
Содержимое можно добавить в окно с помощью методов DisplayObjectContainer объекта Stage, таких как
Невозможно добавить компоненты Flex непосредственно в список отображения экземпляра NativeWindow. Вместо этого используйте компоненты Flex mx:WindowedApplication и mx:Window для создания окон и добавления других компонентов Flex в качестве дочерних объектов. Можно добавить SWF-содержимое на основе Flex непосредственно в окно NativeWindow, если SWF-файл загружен в собственный домен приложений и является содержимым приложения.
Чтобы создать корневое HTML-окно для отображения HTML-содержимого, обычно достаточно создать окно с помощью метода
Далее перечислены асинхронные операции над объектами NativeWindow:
Если свойство
Объекты NativeWindow не очищаются после вызова конструктора окон и перед вызовом
Не изменяйте размер окна или состояние его отображения в обработчике событий
Событие
Примечание. Избегайте действий, которые могут открыть одновременные диалоговые окна операционной системы в функциях обработчиков для событий
Примечание. Избегайте действий, которые могут открыть одновременные диалоговые окна операционной системы в функциях обработчиков для событий
Настройки, определенные параметром
Размер окна по умолчанию определяется операционной системой, окна создаются в невидимом состоянии. Чтобы предотвратить явное изменение окна, не изменяйте значение его свойства
Активация окна:
В Linux
Объект NativeWindow отправляет событие
С помощью ссылки на экранный объект в рабочей области окна:
Событие
Когда окно закрывается, любые окна, которыми оно владеет, также закрываются. Находящиеся в собственности окна не отправляются
Если на отображаемые в окне экземпляры экранных объектов нет других ссылок, они будут очищены и уничтожены, за исключением начального окна приложения, созданного в AIR. Чтобы разрешить очистку экранных объектов на начальном окне, удалите их из рабочей области окна.
После закрытия объект NativeWindow все еще доступен для ссылок, но обращение к большинству свойств и методов приведет к появлению ошибки о недопустимой операции.
Закрытые окна нельзя открыть повторно. Если окно уже закрыто, никакие действия не предпринимаются и события не отправляются.
Примечание. Чтобы скрыть окно, не закрывая его, задайте свойству
С помощью ссылки на экземпляр NativeWindow (
Координаты виртуального рабочего стола строятся относительно верхнего левого угла главного монитора.
Вы не можете изменить собственность NativeWindows, добавляя или удаляя объекты из возвращенного вектора. Собственность Окно не может быть изменена после того, как окно создано.
Вызов метода
Метод
Примечания о вариантах поведения ОС
Вызов метода
Метод
При сворачивании окна скрываются все окна, владельцем которых является это окно. Находящиеся в собственности окна не отправляют события
Примечания.
Когда
Параметр
Сигналы для оповещений информативного характера могут быть кратковременными, а сигналы для критических оповещений продолжаются, пока пользователь не активирует данное окно. Не все диспетчеры окон Linux поддерживают два уровня оповещений. Для таких диспетчеров результат вызова метода
Примечание. Вызов метода
Не активирует это окно или приложение и не переводит его в фокус. Порядок свернутых или скрытых окон (
Находящееся в собственности окно никогда не может перемещаться позади его владельца. Если у этого окна есть владелец, то владельцу и его другим находящимся в собственности окнам также приказывают позади назначения. Если у окна назначения есть владелец, то это окно заказано позади владельца назначения вместо этого.
Некоторые диспетчеры окон Linux запрещают размещение служебных окон под обычными окнами.
Не активирует это окно или приложение и не переводит его в фокус. Порядок свернутых или скрытых окон (
Окно никогда не может быть перемещено перед окном, которым оно владеет. Если у этого окна есть владелец, то владельцу и его другим находящимся в собственности окнам также приказывают перед назначением. Если у окна назначения есть владелец, то это окно также заказано перед любыми другими окнами, у которых есть тот же самый владелец как назначение.
Некоторые диспетчеры окон Linux не позволяют обычным окнам располагаться поверх служебных окон.
Не активирует это окно или приложение и не переводит его в фокус. Порядок свернутых или скрытых окон (
Если
Находящееся в собственности окно никогда не может перемещаться позади его владельца. Если у этого окна есть владелец, то владельца и его другие находящиеся в собственности окна также приказывают нижней части списка витрины. Это окно будет двигаться позади любых других окон, владевших тем же самым окном. Если это окно владеет другими окнами, то те окна также перемещены в спина, сохраняя их текущий заказ друг относительно друга.
Некоторые диспетчеры окон Linux запрещают размещение служебных окон под обычными окнами.
Не активирует это окно или приложение и не переводит его в фокус. Порядок свернутых или скрытых окон (
Если
Окно никогда не может быть перемещено перед окном, которым оно владеет. Если это окно владеет другими окнами, то те окна также перемещены в передний план, сохраняя их текущий заказ друг относительно друга. Если у этого окна есть владелец, то владельца и его другие находящиеся в собственности окна также приказывают переднему плану заказа витрины. Это окно перемещено перед другими окнами, у которых есть тот же самый владелец.
Некоторые диспетчеры окон Linux не позволяют обычным окнам располагаться поверх служебных окон.
Вызов метода
Если окно уже находится в состоянии
Чтобы узнать о завершении изменения состояния, прослушивайте событие
При вызове из события
При вызове из другого кода этот метод начинает выполнять последовательность перемещения с помощью клавиатуры или мыши в соответствии с последовательностью, используемой по умолчанию в операционной системе.
Во время выполнения последовательности будет отправляться серия событий по ходу перемещения окна. Для каждого добавочного перемещения отправляется событие
При вызове из обработчика события
При вызове из другого кода этот метод начинает выполнять последовательность изменения размеров с помощью клавиатуры или мыши в соответствии с последовательностью, используемой по умолчанию в операционной системе.
Во время выполнения последовательности будет отправляться серия событий по ходу изменения размеров окна. Для каждого добавочного изменения отправляется событие
Используйте метод
В системном порядке отображения есть две группы окон. Окна группы
Изменение значения
Свойству
Примечания о вариантах поведения ОС
Размеры окна включают системный Chrome. Размеры рабочей области окна равны размерам окна минус размер системного Chrome. Изменение ширины и высоты окна приведет к изменению свойств
В корневом HTML-окне свойства
Событие
Задание свойства
Соблюдение порядка, в котором были заданы отдельные размеры, не гарантируется. В диспетчерах окон Linux, запрещающих выход границ окна за пределы области рабочего стола, изменение отдельных свойств может быть заблокировано, даже если результатом применения всех изменений свойств будет окно допустимого размера.
Если указанные ширина или высота не достигают минимальных значений или превышают максимальные значения, то для окна устанавливаются значения, наиболее близкие к разрешенным. Минимальные и максимальные ширина и высота определяются следующими факторами:
При изменении положения или размеров окна пиксельные значения округляются до ближайшего целого числа.
Попытка получить следующие свойства закрытого окна приведет к появлению ошибки о недопустимой операции:
Подобным образом, попытка вызвать следующие методы для закрытого окна приведет к появлению ошибки о недопустимой операции:
Константы для возможных значений определяются классом NativeWindowDisplayState:
Размеры окна включают примененный к нему системный хром. Высота доступной для использования области экрана внутри окна указывается в свойстве
Изменение свойства окна
Если указанная высота не достигает минимально допустимого значения или превышает максимально допустимое значение, то значение высоты окна устанавливается на ближайшее разрешенное значение. Минимальная и максимальная высота определяется следующими факторами:
В Linux установка свойства
Чтобы узнать о завершении изменения высоты, прослушивайте событие
При изменении высоты окна пиксельные значения округляются до ближайшего целого числа.
Предельный размер определяется как координаты объекта Point. Свойство точки
Ограничение
При задании
Если указанные ширина и высота превышают максимально допустимые значения, для ширины окна выбирается ближайшее разрешенное значение. Минимальные и максимальные ширина и высота определяются следующими факторами:
Примечание. В некоторых операционных системах, таких как Mac OS X, окно разворачивается до значения, заданного свойством
Параметр
Примечание. Некоторые диспетчеры окон Linux разрешают пользователю разворачивать окна, даже когда свойству
Когда объект NativeMenu назначается свойству окна
Примечание. Назначить меню для окна, когда
Предельный размер определяется как координаты объекта Point. Свойство точки
При задании
Ограничение
Примечание. Ширина и высота любого отображаемого системного Chrome может препятствовать уменьшению окна до заданного минимального размера.
Параметр
Примечание. Некоторые диспетчеры окон Linux разрешают пользователю сворачивать окна, даже когда свойству
Собственность Окно установлена, когда окно создано и не может быть изменено. Чтобы создать окно, у которого есть владелец, устанавливает объект NativeWindow обладания как
Примечание. В Linux некоторые диспетчеры окон не отображают находящиеся во владении окна на переднем плане относительно окна владельца, если для этого окна установлен полноэкранный режим.
Note: Not all Linux window managers honor the resizable
setting.
Параметр
Рабочая область находится в корне списка отображения для данного окна. Добавьте визуальные экранные объекты в окно путем добавления в рабочую область или в другой объект, уже находящийся в списке отображения данного рабочей области. Размеры рабочей области соответствуют размеру области клиента окна, когда оно использует системный Chrome. Если же системный Chrome не используется, размеры рабочей области равны размерам окна.
Когда
Примечание. Назначить меню для окна, когда
Когда
Примечание. Вызов метода
Если
Примечание. Значение данного свойства может измениться во время работы программы в зависимости от предпочтений пользователя, заданных для операционной системы.
Значения, возвращенные
Параметр системного Chrome нельзя изменить после создания окна.
Предельный размер определяется как координаты объекта Point. Свойство точки
В дополнение к ограничению размера операционной системы в AIR предусмотрен максимально допустимый размер окна, который составляет 4095 х 4095 пикселов (2880 х 2880 пикселов в AIR 1.5 и более ранних версиях). И для приложения может быть задано предельное значение с помощью свойства
Предельный размер определяется как координаты объекта Point. Свойство точки
Если заголовок отображается, он появится в системном Chrome для окна, а также в других системных местоположениях (например, на панели задач).
Свойство
Примечание. Прозрачность окон поддерживается не всегда. Если конфигурация операционной системы пользователя не поддерживает прозрачность, окно будет создано непрозрачным. Окна, которые должны были быть прозрачными, отображаются с черным фоном. С помощью свойства
Значения, возвращенные
Параметр
Невидимое окно не отображается на рабочем столе, но все его свойства и методы остаются действительными.
По умолчанию
Если у этого окна есть владелец, состояние видимости этого окна определяет отображение окна. Если окно с владельцем не отображается, значит все другие окна также не отображаются, даже если для параметра
Примечание. В Mac OS X параметр
Отображаемые размеры собственного окна включают примененный к нему системный хром. Ширина доступной для использования области экрана внутри окна указывается в свойстве
Изменение свойства окна
Если указанная ширина не достигает минимально допустимого значения или превышает максимально допустимое значение, то устанавливается ближайший разрешенный размер окна. Максимальная и минимальная ширина определяются следующими факторами:
В Linux установка свойства
Чтобы узнать о завершении изменения ширины, прослушивайте событие
При изменении ширины окна пиксельные значения округляются до ближайшего целого числа.
В системах с несколькими мониторами
Изменение свойства окна
В Linux установка свойства
Чтобы узнать о завершении изменения позиции, прослушивайте событие
При изменении координаты Х окна пиксельные значения округляются до ближайшего целого числа.
В системах с несколькими мониторами
Изменение свойства окна
В Linux установка свойства
Чтобы узнать о завершении изменения позиции, прослушивайте событие
При изменении координаты Y окна пиксельные значения округляются до ближайшего целого числа.
Для SWF-содержимого, выполняемого в обозревателе (в Flash® Player), Stage представляет собой всю область отображения содержимого Flash. Для содержимого, выполняемого в программе AIR в компьютерных операционных системах, каждый объект NativeWindow имеет соответствующий объект Stage.
К объекту Stage нет глобального доступа. Доступ к нему осуществляется через свойство
Класс Stage имеет несколько классов предшественников — DisplayObjectContainer, InteractiveObject, DisplayObject и EventDispatcher —от которых он наследует свойства и методы. Многие из этих свойств и методов либо неприменимы к объектам Stage, либо требуют проверки безопасности, когда используются для объекта Stage. Свойства и методы, требующие проверки безопасности, записаны как часть класса Stage.
Следующие наследуемые свойства также неприменимы к объектам Stage. При попытке задать для них значения выдается ошибка IllegalOperationError. Эти свойства можно считывать, но, так как для них невозможно задать значение, они всегда имеют значения по умолчанию.
Некоторые события, которые, казалось бы, являются частью класса Stage, например
Ориентация может изменяться, когда пользователь поворачивает устройство или открывает выдвижную клавиатуру либо вызывается функция
Примечание. Если для свойства
Важный: события orientationChanging не отправлены на устройствах Андроида.
Примечание. Если для свойства
Так, в следующем примере представлено три объекта отображения с метками а, b и c в позициях индекса 0, 1 и 2 соответственно.
При добавлении дочернего объекта, уже имеющего отличный от других контейнер объекта отображения в качестве родительского элемента, объект удаляется из списка дочерних элементов другого контейнера объекта отображения.
При добавлении дочернего объекта, уже имеющего отличный от других контейнер объекта отображения в качестве родительского элемента, объект удаляется из списка дочерних элементов другого контейнера объекта отображения.
Примечание. Команда
Эта функция может иметь любое имя.
Функции элементов уровня класса не подлежат удалению в качестве мусора, вследствие чего можно установить
После успешной регистрации прослушивателя событий невозможно изменить его приоритет путем дополнительных вызовов
Следует учесть, что после регистрации прослушивателя последующие вызовы метода
Невозможно зарегистрировать прослушиватель события только для целевой фазы или для фазы восходящей цепочки. Эти фазы соединены при регистрации, поскольку восходящая цепочка применяется только к предшественникам целевого узла.
Если прослушиватель событий больше не нужен, его можно удалить, вызвав метод
Копирование экземпляра EventDispatcher не приводит к копированию прослушивателей событий, присоединенных к нему. (Если для вновь создаваемого узла требуется прослушиватель событий, его необходимо присоединить после создания узла.) При этом при перемещении экземпляра EventDispatcher присоединенные к нему прослушиватели событий перемещаются вместе с ним.
Если прослушиватель регистрируется для узла в тот момент, когда на нем обрабатывается событие, то в текущей фазе он не запускается, однако может запуститься в следующей фазе потока события, например в фазе восходящей цепочки.
Прослушиватель событий, удаленный из узла во время обработки события на этом узле, будет запускаться текущими операциями. После удаления прослушиватель событий больше не вызывается (если не будет снова зарегистрирован для дальнейшей обработки).
Направление фокуса должно задаваться приложением (или средой приложения). Как такового встроенного принципа расположения интерактивных объектов не существует, однако, для их упорядочения можно использовать ряд доступных свойств. Например, можно сортировать интерактивные объекты в рабочей области по их положению в списке отображения. Вызов метода
После получения фокуса
При назначении объекта HTMLLoader параметру
Различие между
Когда метод
Событие
Событие
Сборщик мусора перераспределяет неиспользуемый объем памяти. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок
Если изменения ориентации рабочей область в результате вызова метода, объект Stage отправляет orientationChange событие.
Чтобы узнать, поддерживается ли ориентация устройства, проверьте значение свойства
Поддержка в профилях AIR: эта функция поддерживается на мобильных устройствах, но не поддерживается в компьютерных операционных системах или средах AIR для телевизионных устройств. Используйте свойство
Когда используется метод
В результате этого объекты выстраиваются следующим образом:
Задайте параметру
Не задавайте параметру значение
Чтобы узнать, поддерживается ли изменение ориентации устройства, проверьте значение свойства
Операция установки ориентации является асинхронной. Нельзя гарантировать ее выполнение сразу после вызова метода
Важный:
Разница между методами
Когда метод
Свойство
trace(Stage.allowsFullsreen);
Начальное значение этих свойств получено от элемента
Поддержка в профилях AIR: эта функция поддерживается на мобильных устройствах, но не поддерживается в компьютерных операционных системах или средах AIR для телевизионных устройств. Используйте свойство
Тремя возможными значениями являются строки с соответствующими константами в классе flash.display.ColorCorrectionSupport:
Используйте свойство
Как правило, активация управления цветом делает передачу цвета более точной, улучшает преобразование, позволяет точнее осуществлять цветопробу и эффективно отображать цвета независимо от программного материала. Имейте в виду, что управление цветом не делает преобразование идеальным, так как цветовые гаммы различных устройств расходятся между собой и отличаются от палитр исходных изображений. Подобным образом, при использовании управления цветом не исключается необходимость использовать пользовательские или измененные профили. Профили цветов зависят от обозревателей, операционных систем (ОС), расширений ОС, устройств вывода и поддержки со стороны приложения.
При применении коррекции цвета производительность среды выполнения Flash снижается. В среде выполнения Flash коррекция цвета реализована в качестве цветокоррекции стиля документа, так как все ролики SWF являются документами со встроенными профилями sRGB. Используйте свойство
Тремя возможными значениями являются строки с соответствующими константами в классе flash.display.ColorCorrection:
На устройствах с раскладками клавиатуры слайда у состояния клавиатуры есть более высокий приоритет в задавании ориентации устройства чем угол, определенный акселерометром. Таким образом на устройстве книжного аспекта с установленной стороной клавиатурой,
Используйте константы, определенные в классе StageOrientation, устанавливая или сравнивая значения для этих свойств.
Поддержка в профилях AIR: эта функция поддерживается на мобильных устройствах, но не поддерживается в компьютерных операционных системах или средах AIR для телевизионных устройств. Используйте свойство
Масштабирование видео в полноэкранном режиме определяется значением
Следующие ограничения действуют для SWF-файлов, проигрываемых на странице HTML (не для тех, что выполняются в автономном проигрывателе Flash Player и не выполняются в среде AIR):
Страница HTML может также выполнить сценарий для создания тегов внедрения SWF. Такой сценарий нужно изменить, задав нужные значения для свойства
При переходе в полноэкранный режим поверх видео отображается диалоговое окно среды выполнения Flash, уведомляющее пользователей о том, что включен полноэкранный режим и можно нажать клавишу Escape для выхода из этого режима.
Данные ограничения не действуют для содержимого SWF, выполняемого в автономном Flash Player или в приложении AIR. AIR поддерживает интерактивный полноэкранный режим, который допускает ввод с клавиатуры.
На время воспроизведения ролика
В Linux установка
Примечание. Вследствие ограничений, установленных из соображений безопасности, полноэкранный режим можно запускать только в определенных ситуациях, например, если пользователь щелкнул кнопку или нажал клавишу. При запуске в обозревателе свойство allowFullScreen должно иметь значение true.
Примечание. Приложение может не воспринимать параметры высокой частоты, если целевая платформа недостаточно быстрая или если проигрыватель синхронизируется с интервалами пробела по вертикали дисплея (обычно это 60 Гц на ЖК-мониторах). В некоторых случаях целевая платформа также может выбирать более низкую максимальную частоту кадров, если ожидает высокий процент использования ЦП.
При работе с содержимым в Adobe AIR настройка свойства
Примечание. Если у пользователя есть возможность перемещать обозреватель с одного монитора на другой между получением значения и переходом в полноэкранный режим, то это значение будет неправильным. Если значение получено в обработчике событий, задающем для
Это высота монитора в пикселях, она равна высоте рабочей области, если для
Примечание. Протестируйте этот пример в обозревателе. В диалоговом окне «Параметры публикации Flash», на вкладке «HTML» выберите шаблон «Только Flash — Разрешить полноэкранный режим». Укажите Flash Player версии 9.0.115.0 и не забудьте выбрать форматы Flash и HTML на вкладке «Форматы». Затем опубликуйте и откройте полученный HTML-файл в обозревателе.
Когда в качестве значения этому свойству передан допустимый прямоугольник, а свойство
Это свойство можно настраивать, только когда среда выполнения Flash не находится в полноэкранном режиме. Для правильного использования этого свойства его необходимо настроить первым, и только потом выбирать для свойства
Чтобы включить масштабирование, задайте свойство
Чтобы отключить масштабирование, задайте
Конечный пользователь может отключить в параметрах отображения проигрывателя Flash Player аппаратное масштабирование, включенное по умолчанию. Дополнительные сведения см. на странице
Прежде чем использовать полноэкранный режим с аппаратным масштабированием, необходимо выполнить следующие условия:
FLV-файл загружается с использованием объектов NetConnection и NetStream. Так как FLV-файл находится в том же каталоге, что и SWF-файл и будет подключаться через HTTP, то параметру метода
Когда становятся доступны свойства и методы загруженного SWF-файла, вызывается метод
Примечание. Если у пользователя есть возможность перемещать обозреватель с одного монитора на другой между получением значения и переходом в полноэкранный режим, то это значение будет неправильным. Если значение получено в обработчике событий, задающем для
Это ширина монитора в пикселях, она равна ширине рабочей области, если для
Примечание. Протестируйте этот пример в обозревателе. В диалоговом окне «Параметры публикации Flash», на вкладке «HTML» выберите шаблон «Только Flash — Разрешить полноэкранный режим». Укажите Flash Player версии 9.0.115.0 и не забудьте выбрать форматы Flash и HTML на вкладке «Форматы». Затем опубликуйте и откройте полученный HTML-файл в обозревателе.
За исключением объектов TextField и Video, экранные объекты без содержимого (например, пустой спрайт), имеют высоту 0, даже если задать свойству
Это свойство удобно использовать, когда кнопка создается с помощью экземпляра класса Sprite (а не класса SimpleButton). Когда для создания кнопки используется экземпляр Sprite, при желании можно украсить кнопку с помощью метода
При настройке данного свойства события не отправляются. Чтобы создать интерактивные функции, необходимо использовать метод
Данное окно представляет собственное окно операционной системы, а рабочая область — его содержимое. Это свойство действительно только для содержимого, выполняющегося в программе AIR на платформах, поддерживающих класс NativeWindow. На других платформах это свойство будет иметь значение
Чтобы задать ориентацию рабочей области, используйте метод
Важный: свойства ориентации поддержаны на устройствах Андроида от 2.6 namespace вперед.
Более высокие параметры качества обеспечивают более качественную визуализацию масштабированных растровых изображений. Однако это происходит за счет увеличения нагрузки на ресурсы системы. В частности, параметр высокого качества при визуализации масштабированного видео может привести к уменьшению частоты кадров.
В профиле Adobe AIR для настольного компьютера можно задать для параметра
При работе с содержимым в Adobe AIR настройка свойства
Если свойство
Если программная клавиатура невидима, то размер области равен нулю (0,0,0,0).
Когда клавиатура открывается,
Примечание. В ОС Android занятая клавиатурой область оценивается, если операционная система не предоставляет информацию, необходимую для определения точной области. Эта проблема возникает в полноэкранном режиме, а также если клавиатура открывается в ответ на получение фокуса объектом InteractiveObject или на вызов метода
Если задать для свойства
Поведение среды AIR для телевизионных устройств немного отличается от поведения на настольных устройствах при задании свойства
Примечание. На HTML-странице, содержащей SWF-файл, атрибуты
Число объектов StageVideo, которые можно использовать одновременно, ограничено. Во время начала выполнения SWF-файла число доступных объектов StageVideo зависит от платформы и доступного оборудования.
Для использования объекта StageVideo назначьте элементу объекта Vector
Все объекты StageVideo отображаются в рабочей области позади любых экранных объектов. Все объекты StageVideo отображаются в рабочей области в порядке их появления в объекте Vector
Используйте свойство
Примечание. В среде AIR для телевизионных устройств поддерживается только один объект StageVideo.
Если задать для свойства
Поведение среды AIR для телевизионных устройств немного отличается от поведения на настольных устройствах при задании свойства
Примечание. На HTML-странице, содержащей SWF-файл атрибуты
Вы можете использовать струны ориентации, включенные в этот список как параметры для
Возможные ориентации включают:
Примечание. Свойство
За исключением объектов TextField и Video, экранные объекты без содержимого (например, пустой спрайт), имеют ширину 0, даже если задать свойству
В частности, свойство
Другими словами, свойство
С помощью свойства
Если Flash Player встроен в браузер, композитинг GPU может быть востребован с помощью значения
Однако свойство
Примечание. Это свойство всегда имеет значение
Свойства, определенные в параметрах, инициализации нельзя изменить после создания окна.
Примечание. Для начального окна приложения, автоматически создаваемого в AIR, все эти свойства, кроме
По умолчанию вновь созданный объект имеет следующие значения:
Для окон с системным Chrome этот параметр влияет на внешний вид кнопки для разворачивания. Также она влияет и на другие элементы пользовательского интерфейса, управляемого системой, такие как меню окна в Microsoft Windows.
При значении
Примечания о вариантах поведения ОС
Для окон с системным Chrome этот параметр влияет на внешний вид кнопки для сворачивания. Также она влияет и на другие элементы пользовательского интерфейса, управляемого системой, такие как меню окна в Microsoft Windows.
При значении
Примечание. Некоторые диспетчеры окон Linux разрешают пользователю сворачивать окна, даже когда свойству
Когда у окна есть владелец, то окно всегда отображается перед его владельцем, минимизировано и скрыто наряду с его владельцем, и закрывает, когда его владелец закрывает.
При установке
Примечания о вариантах поведения ОС
Хромом называются элементы управления окном, позволяющие управлять свойствами окна на рабочем столе. Системный Chrome использует стандартные элементы управления для окружения рабочего стола, в котором работает приложение AIR, и согласует его со стандартным внешним видом, используемым в данной операционной системе.
Чтобы использовать хром, предусмотренный в среде (такой как Flex), или указать собственный хром окна, задайте для
Константы для допустимых значений данного свойства определяются в классе NativeWindowSystemChrome:
Если не задано иное, по умолчанию для
Для свойства
Если задано значение
Для свойства
Примечание. Не все диспетчеры окно Linux поддерживают прозрачность. В таких системах прозрачные области окна накладываются на черный фон.
Константы для допустимых значений данного свойства определяются в классе NativeWindowType:
Если не задано иное, по умолчанию для
Доступ к экземпляру ShaderParameter, представляющему параметр экземпляра Shader, осуществляется в качестве свойства
В дополнение к заданным свойствам класса ShaderParameter каждый экземпляр ShaderParameter обладает дополнительными свойствами, соответствующими любым метаданным, определенным для параметра. Эти свойства применяются к объекту ShaderParameter при его создании. Имена свойств совпадают с именами метаданных, указанными в исходном коде затенения. Типы данных каждого свойства различаются в зависимости от типов данных соответствующих метаданных. Значение метаданных текста «описание» является экземпляром String. Свойство метаданных, содержащее не строковое значение (например,
Предположим, в затенение входит два следующих объявления параметров:
В дополнение к встроенным свойствам в экземпляре ShaderParameter, который соответствует параметру
ShaderParameter, соответствующий параметру
Обычно в коде разработчика прямое создание экземпляра ShaderParameter не заложено. При создании экземпляра Shader экземпляр ShaderParameter создается автоматически для каждого параметра затенения.
В следующей таблице указан тип параметра и соответствующие значение числа и типа данных
Если используются параметры типа «матрица», то массив заполняется сначала по горизонтали, затем по вертикали. Предположим, что следующая строка ActionScript используется для заполнения параметра
Значения элементов матрица в заголовке затенения:
Например, рассмотрим простой линейный градиент между двумя цветами (параметру
Обратиться к объектам LoaderInfo можно двумя способами:
Свойство
При использовании объекта Loader для загрузки экранного объекта (SWF-файла или растрового изображения), значение свойства
На следующей схеме показаны разные возможности применения объекта LoaderInfo: для экземпляра основного SWF-файла, для свойства
Некоторые свойства
Примечание. Все свойства объектов LoaderInfo доступны только для чтения.
Метод
Важно! В этом примере требуется добавить файл с именем Image.gif в тот же каталог, что и компилированный SWF-файл. Используйте изображение, область которого соответствует размерам основного SWF-файла.
Например, событие
Событие
Примечание. Это свойство всегда имеет значение
Все программные коды в SWF-файле определены для существования в домене приложения. Текущим доменом приложения является домен, где выполняется основное приложение. Системный домен содержит все домены приложений, включая текущий домен и все классы проигрывателя Flash Player или Adobe AIR.
Все домены приложений, кроме системного, имеют связанный родительский домен. Родительским доменом свойства
Примеры использования доменов приложений см. в главе «Среда клиентской системы» Руководства разработчика по ActionScript 3.0.
До отправки первого события
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Это значение может отличаться от фактически используемой частоты кадров. Проигрыватель Flash Player или Adobe AIR одновременно использует одну частоту кадров для всех загруженных SWF-файлов. Она определяется номинальной частотой кадров основного SWF-файла. Иногда невозможно достичь основной частоты кадров в зависимости от аппаратного обеспечения, звуковой синхронизации и других факторов.
Примечание. Свойство
Для содержимого приложения в AIR это свойство всегда имеет значение
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Можно использовать цикл
Существует два источника параметров: строка запроса в URL основного SWF-файла и значения HTML-параметра
Свойство
Значение свойства
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player
Это свойство создается после завершения загрузки SWF-файла, связанного с данным объектом LoaderInfo. До тех пор свойство
В конструкторе код регистрирует прослушиватель события
В методе
Перед отправкой первого события
В некоторых случаях значение свойства
Этот класс позволяет отделить операции по визуализации растрового изображения от внутренних подпрограмм обновления отображения проигрывателя Flash Player. Путем манипуляции с объектом BitmapData напрямую можно создавать сложные изображения без необходимости постоянно перерисовывать содержимое из векторных данных в каждом кадре.
Методы класса BitmapData поддерживают эффекты, не доступные через фильтры, предусмотренные для нерастровых экранных объектов.
Объект BitmapData содержит массив пиксельных данных. Эти данные могут представлять собой либо полностью непрозрачное растровое изображение, либо прозрачное растровое изображение с данными альфа-канала. Объекты BitmapData любого типа сохраняются в виде буфера 32-разрядных целых чисел. Каждое 32-разрядное целое число определяет свойства одного пикселя в растровом изображении.
Каждое 32-разрядное целое число представляет собой комбинацию 8-разрядных значений каналов (от 0 до 255), описывающих альфа-прозрачность и значения красного, зеленого и синего (ARGB) пикселя. (Для значений ARGB наиболее значимый байт представляет значение альфа-канала, а за ним следуют красный, зеленый и синий.)
Четыре канала (альфа-канал, красный, зеленый и синий) представлены числами при использовании в методе
Объекты BitmapData можно присоединить к объекту Bitmap с помощью свойства
Объект BitmapData можно использовать для заполнения объекта Graphics с помощью метода
Во время выполнения AIR классы DockIcon, Icon, InteractiveIcon и SystemTrayIcon имеют свойство
В AIR 1.5 и Flash Player 10 максимальный размер объекта BitmapData составляет 8,191 пикселя в ширину или высоту, а общее количество пикселей не может превышать 16,777,215. (Т. е. если ширина объекта BitmapData составляет 8,191 пикселя, его высота не может быть больше 2 048 пикселей.) В проигрывателе Flash Player 9 и более ранних версий, а также в AIR 1.1 и более ранних версий, это ограничение составляет 2 880 пикселей в высоту и 2 880 пикселей в ширину.
Вызовы любого метода или свойства объекта BitmapData выдают ошибку ArgumentError, если объект BitmapData недействителен (например, если
Примечания.
По умолчанию растровое изображение создается прозрачным, если не передано значение
В AIR 1.5 и Flash Player 10 максимальный размер объекта BitmapData составляет 8,191 пикселя в ширину или высоту, а общее количество пикселей не может превышать 16,777,215. (Т. е. если ширина объекта BitmapData составляет 8,191 пикселя, его высота не может быть больше 2 048 пикселей.) В проигрывателе Flash Player 9 и более ранних версий, а также в AIR 1.1 и более ранних версий, это ограничение составляет 2 880 пикселей в высоту и 2 880 пикселей в ширину. Если задать значение ширины или высоты, превышающее 2880, новый экземпляр не будет создан.
Этот метод базируется на поведении встроенных объектов фильтра, которые определяют целевой прямоугольник, затрагиваемый вводным исходным прямоугольником.
Полученное после применения фильтра изображение может быть больше вводного. Например, если класс BlurFilter используется, чтобы размыть очертания исходного прямоугольника с координатами (50,50,100,100) и точку назначения с координатами (10,10), то область конечного изображения будет больше (10,10,60,60) в результате размытости. Это происходит на внутреннем уровне при вызове метода
Если параметр
Если объект BitmapData является объектом, указанным в качестве параметра
В качестве примера рассмотрим два следующих объекта BitmapData.
Примечание. Цвета, использованные для заливки двух объектов BitmapData, имеют немного разные RGB-значения (0xFF0000 и 0xFFAA00). В результате использования метода
Рассмотрим следующие два объекта BitmapData, у которых одинаковые RGB-цвета, но разные значения альфа-канала.
В результате использования метода
Если объекты BitmapData идентичны (имеют одинаковую высоту, ширину и значения пикселей), метод возвращает значение 0.
Если объекты BitmapData имеют разную ширину, метод возвращает значение -3.
Если объекты BitmapData имеют разную высоту, но одинаковую ширину, метод возвращает значение -4.
В следующем примере сравниваются два объекта Bitmap с разной шириной (50 и 60).
Исходным или конечным значением канала может быть одно из следующих:
Если включены параметры
Свойство
Когда для изображения вызывается метод
Метод
Рисование с параметром
Этот метод напрямую соответствует тому, как рисуются объекты с помощью стандартного векторного средства визуализации в интерфейсе инструмента разработки.
Исходный экранный объект не использует свои примененные преобразования для этого вызова. Он обрабатывается в том виде, в котором представлен в библиотеке или файле: без преобразования матрицы, цвета и без режима наложения. Чтобы нарисовать экранный объект (например, фрагмент ролика) с помощью его собственных свойств преобразования, можно скопировать его объект свойства
Этот метод поддерживается через протокол RTMP в
Если объект source и (в случае с объектами Sprite и MovieClip) все его дочерние объекты не находятся в том же домене, что и вызывающий объект, или не находятся в содержимом, доступном вызывающему объекту посредством вызова метода
Существуют также ограничения по использованию загруженного растрового изображения в качестве объекта
В Windows метод
Метод
Например, размывающий фильтр обычно воздействует на область, размер которой превышает размер исходного изображения. Изображение размером 100 x 200 пикселей, отфильтрованное с использованием экземпляра BlurFilter по умолчанию, где
Некоторые фильтры обрезают целевой прямоугольник по размеру исходного изображения. Например, внутренний фильтр
Например, если имеется исходное изображение и требуется определить прямоугольник изображения, содержащий ненулевой альфа-канал, передайте в качестве параметров
Все пиксели в объекте BitmapData сохраняются как предварительно умноженные значения цвета. В предварительно умноженном пикселе изображения значения красного, зеленого и синего канала уже умножены на данные альфа-канала. Например, если значение альфа-канала равно нулю, то значения RGB-каналов также равны нулю независимо от их значений до умножения. Потеря данных может вызвать проблемы при выполнении операций. Все методы BitmapData принимают и возвращают неумноженные значения. Перед тем как возвращать значение, внутреннее представление пикселя преобразуется из предварительно умноженного в неумноженное. Во время операции настройки, значение пикселя предварительно умножается, и только после этого настраивается необработанный пиксель изображения.
Все пиксели в объекте BitmapData сохраняются как предварительно умноженные значения цвета. В предварительно умноженном пикселе изображения значения красного, зеленого и синего канала уже умножены на данные альфа-канала. Например, если значение альфа-канала равно нулю, то значения RGB-каналов также равны нулю независимо от их значений до умножения. Потеря данных может вызвать проблемы при выполнении операций. Все методы BitmapData принимают и возвращают неумноженные значения. Перед тем как возвращать значение, внутреннее представление пикселя преобразуется из предварительно умноженного в неумноженное. Во время операции настройки, значение пикселя предварительно умножается, и только после этого настраивается необработанный пиксель изображения.
Если изображение непрозрачное, то при использовании данного метода оно считается полностью непрозрачным прямоугольником. Для тестирования нажатия, при котором учитывается прозрачность, оба изображения должны быть прозрачными. Когда тестируются два прозрачных изображения, параметры порога альфа-значений контролируют, какие значения альфа-канала (от 0 до 255) считаются непрозрачными.
Значения
Среда выполнения Flash предпринимает следующие шаги для создания конечного изображения.
Этот метод может поддерживать эффекты, создаваемые с использованием разных каналов. Каждый вводный массив содержит полные 32-разрядные значения, поэтому при складывании значений не происходит смещения. Эта подпрограмма не поддерживает фиксацию по каналам.
Если для канала не задан массив, то канал цвета копируется из исходного изображения в целевое.
Этот метод можно использовать для самых разнообразных эффектов, таких как общее наложение палитры (преобразование одного канала для создания псевдо-цветного изображения). Этот метод можно использовать для различных расширенных алгоритмов манипуляций с цветом, таких как использование гаммы, кривых, уровней и квантизации.
Алгоритм создания шума Перлина интерполирует и объединяет отдельные функции случайного шума (называемые октавами) в одну функцию, создающую более естественный случайный шум. Как и в музыкальных октавах, каждая функция октавы удваивает частоту предыдущей. Шум Перлина описывается как «фрактальная сумма шума», так как он объединяет несколько наборов шумовых данных с разным уровнем детализации.
Функции шума Перлина можно использовать для симуляции естественных явлений и ландшафтов, таких как текстура древесины, облака и горные хребты. В большинстве случаев результат функции шума Перлина не отображается непосредственно: он используется для доработки других изображений, придавая им псевдослучайные вариации.
Простые функции цифрового белого шума часто дают изображения с резко контрастирующими точками. Такое явление редко встречается в естественных условиях. Алгоритм шума Перлина объединяет несколько функций шума с разным уровнем детализации. В результате чего разница между значениями соседних пикселей становится не столь большой.
Если исходное изображение отличается от целевого, пиксели копируются из первого во второе с использованием всех свойств. Этот процесс позволяет выполнить растворение от пустого изображения до заполненного.
Если исходное и целевое изображения одинаковы, пиксели заполняются с помощью параметра
Все пиксели в объекте BitmapData сохраняются как предварительно умноженные значения цвета. В предварительно умноженном пикселе изображения значения красного, зеленого и синего канала уже умножены на данные альфа-канала. Например, если значение альфа-канала равно нулю, то значения RGB-каналов также равны нулю независимо от их значений до умножения. Потеря данных может вызвать проблемы при выполнении операций. Все методы BitmapData принимают и возвращают неумноженные значения. Перед тем как возвращать значение, внутреннее представление пикселя преобразуется из предварительно умноженного в неумноженное. Во время операции настройки, значение пикселя предварительно умножается, и только после этого настраивается необработанный пиксель изображения.
Примечание. Для повышения производительности при многократном использовании метода
Примечание. Для повышения производительности при многократном использовании метода
Проверка метода
Параметр
Существует ряд ограничений для SWF-файлов AVM1, загруженных SWF-файлами AVM2.
Доступ к экземпляру ShaderInput, представляющему изображение ввода экземпляра Shader, осуществляется в качестве свойства
В некоторых случаях с использованием экземпляра Shader указывать изображение ввода не требуется, так как оно назначается операцией автоматически. Указывать ввод требуется только тогда, когда затенение используется для следующего:
Если операция затенения запускается с использованием экземпляра ShaderJob для обработки массива ByteArray, данные в котором расположены линейно, настройте параметры экземпляра ShaderInput следующим образом: установите для
Обычно, в коде разработчика создание экземпляра ShaderInput не заложено. При создании экземпляра Shader экземпляр ShaderInput создается автоматически для каждого ввода затенения.
При присвоении значения ByteArray свойству
Если экземпляр Vector.<Number> присваивается свойству
Затенение задает функцию, которая по очереди обрабатывает каждый пиксель изображения. В результате каждого вызова функции цвет пикселя в конкретном месте изображения меняется. В затенении может быть указано более одного изображения ввода, содержимое которого или которых может быть использовано для определения вывода функции. В затенении также может быть указан один или несколько параметров, представляющих значения ввода, которые могут быть использованы в расчетах вывода функции. При однократном выполнении операции затенения значения ввода и параметра остаются неизменными. Изменяются только координаты пикселя, цвет которого является результатом вычисления функции. Повышение производительности достигается параллельной работой нескольких функций затенения.
Байт-код затенения можно загрузить в среду выполнения с помощью экземпляра URLLoader. В следующем примере демонстрируется загрузка файла байт-кода затенения в среду выполнения и его привязка к экземпляру Shader.
Вы можете непосредственно встроить затенение в ролик SWF на этапе компиляции. Для этого используйте тег метаданных
В любом из двух случаев происходит привязка необработанного затенения (свойства
После создания экземпляра Shader его можно использовать по-разному:
Заливки, фильтры и переходы, использующие затенение, не поддерживаются при визуализации с использованием графического процессора.
Поддержка в мобильных браузерах: эта функция не поддерживается в мобильных браузерах.
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах, но не на всех мобильных устройствах. Он не поддерживается в среде AIR для телевизионных устройств. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «
Обратите внимание, что в этом примере мы исходим из того, что существует файл байт-кодов с именем donothing.pbj, хранящийся в каталоге, который является выходным для приложения. Исходный код Pixel Bender для затенения DoNothing доступен в
Примечание. В данном примере подразумевается наличие файла байт-кода затенения с именем donothing.pbj в каталоге исходного кода, а также использование Flex SDK при компиляции SWF-файла. Исходный код Pixel Bender для затенения DoNothing доступен в
Дополнительные сведения по получению доступа к динамическим свойствам объекта
Набор возможных значений свойства
Значение по умолчанию —
В полном режиме точности (
Быстрый режим точности (
Выбор режима точности затенения влияет на следующие операции затенения. При использовании процессора Intel с набором инструкций SSE данные операции выполняются быстрее:
В отличие от объекта Sprite, объект MovieClip имеет временную шкалу.
> Во Flash Professional методы для класса MovieClip обеспечивают те же функции, что и действия, нацеленные на фрагменты роликов. Некоторые дополнительные методы не имеют эквивалентных действий в наборе инструментов «Действия» на панели «Действия» в инструменте разработки Flash.
Дочерние экземпляры, помещенные в рабочую область в Flash Professional, нельзя вызвать с помощью кода из конструктора родительского экземпляра, так как они еще не созданы на момент выполнения кода. Перед обращением к дочернему элементу родительский должен либо создать дочерний экземпляр с помощью кода, либо отложить вызов, пока функция обратного вызова, прослушивающая события дочернего элемента, не отправит его события
Если изменить следующие свойства объекта MovieClip, содержащего анимацию движения, точка воспроизведения в этом объекте MovieClip останавливается:
Примечание. Flash Lite 4 поддерживает свойство MovieClip.opaqueBackground, только если определено значение для FEATURE_BITMAPCACHE. В стандартной конфигурации Flash Lite 4 значение FEATURE_BITMAPCACHE не определено. Чтобы сделать свойство MovieClip.opaqueBackground доступным для подходящего устройства, в проекте необходимо определить значение для FEATURE_BITMAPCACHE.
Свойство
Если фрагмент ролика содержит несколько монтажных кадров, свойство
Если фрагмент ролика содержит несколько кадров, свойство
Свойство
Определяется константа для присвоения имени каждой стороне и углу окна.
При вызове некоторых методов можно использовать побитовый оператор ИЛИ (
Константы BitmapDataChannel передаются для использования в качестве значений в:
Используйте объект GraphicsSolidFill совместно с методом
В следующем примере показана та же заливка градиентом с использованием разных методов нанесения.
Используйте объект GraphicsShaderFill совместно с методом
В основе полученных в затенении координат лежит матрица, указанная для параметра
При передачи экземпляра Shader в качестве аргумента происходит его копирование на внутреннем уровне. При выполнении операции заливки используется эта копия, а не ссылка за исходное затенение. Изменения параметров затенения (изменение значения параметра, ввода или байт-кода) не влияют на используемую для заливки копию затенения.
Класс Sprite также включает свойство
Имейте ввиду, что несмотря на то, что данный параметр ожидает единственное значение, свойство
Имейте ввиду, что несмотря на то, что данный параметр ожидает единственное значение, свойство
Имейте ввиду, что несмотря на то, что данный параметр ожидает единственное значение, свойство
При пересечении или наложении контуров их направление определяет правило заливки областей, созданных пересечением или наложением:
Используйте объект GraphicsPath совместно с методом
Для класса GraphicsPath также предусмотрен собственный набор методов (
Значения данного класса используются методом
Варианты команды
Варианты команды