Пакет | spark.filters |
Класс | public dynamic class ShaderFilter |
Наследование | ShaderFilter ![]() |
Реализует | IBitmapFilter, IEventDispatcher |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Класс ShaderFilter должен быть инициализирован с экземпляром объекта Shader или элементом Class, представляющим Shader (например, из Embed). После этого класс ShaderFilter используется в качестве прокси для основного элемента Shader, обеспечивая удобный механизм непосредственного доступа к обоим скалярным и многомерным входным параметрам шейдера как к простым именованным свойствам.
Для установки простого скалярного входного параметра затенения, такого как тип FLOAT или INT, можно напрямую обратиться к свойству, например myFilter.radius
.
Для установки или анимации отдельного компонента многомерного входного параметра затенения, например FLOAT2, можно использовать соглашение о суффиксах свойств, позволяющих обращаться непосредственно к отдельным значениям. В приведенном ниже коде показаны два пути для первого и второго компонента свойства center
: FLOAT2:
// 'center' is an input parameter of type FLOAT2.
shader.center = [10,20];
// Use property suffix convention to access the first and second component of 'center'.
shader.center_x = 10;
shader.center_y = 20;
Ниже приведен полный набор суффиксов, которые можно использовать:
- Для входных параметров затенения типа BOOL2, BOOL3, BOOL4, FLOAT2, FLOAT3, FLOAT4, INT2, INT3 или INT4 для обращения к первому, второму, третьему и четвертому компонентам соответственно можно использовать значения «r g b a», «x y z w» или «s t p q».
- Для входных параметров затенения типа MATRIX2x2, MATRIX3x3 или MATRIX4x4 для обращения к 1-16 компонентам заданной матрицы, можно использовать значения «a b c d e f g h i j k l m n o p».
При изменении свойств ShaderFilter (например, в ходе анимации), элемент ShaderFilter автоматически повторно применяется к массиву фильтров визуального компонента, к которому он применяется.
Синтаксис MXML
The <s:ShaderFilter>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ShaderFilter Properties bottomExtension="0" leftExtension="0" precisionHint="full" rightExtension="0" shader="[]" topExtension="0" />
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
bottomExtension : int
Прирост в пикселях с нижней стороны целевого объекта. | ShaderFilter | ||
leftExtension : int
Прирост в пикселях с левой стороны целевого объекта. | ShaderFilter | ||
precisionHint : String
Точность вычисления математических операций, выполняемых основным затенением. | ShaderFilter | ||
rightExtension : int
Прирост в пикселях с правой стороны целевого объекта. | ShaderFilter | ||
shader : Shader
Экземпляр flash.display.Shader. | ShaderFilter | ||
topExtension : int
Прирост в пикселях с верхней стороны целевого объекта. | ShaderFilter |
Метод | Определено | ||
---|---|---|---|
ShaderFilter(shader:Object = null)
Конструктор. | ShaderFilter |
bottomExtension | свойство |
bottomExtension:int
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Прирост в пикселях с нижней стороны целевого объекта.
Прирост — это область за границами целевого объекта, передаваемая шейдеру во время выполнения. Во время выполнения Flash Player или AIR вычисляет нормальные границы фрагмента ролика и расширяет их в соответствии со значениями leftExtension
, rightExtension
, topExtension
и bottomExtension
.
Значением по умолчанию является 0.
Реализация
public function get bottomExtension():int
public function set bottomExtension(value:int):void
leftExtension | свойство |
leftExtension:int
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Прирост в пикселях с левой стороны целевого объекта.
Прирост — это область за границами целевого объекта, передаваемая шейдеру во время выполнения. Во время выполнения Flash Player или AIR вычисляет нормальные границы фрагмента ролика и расширяет их в соответствии со значениями leftExtension
, rightExtension
, topExtension
и bottomExtension
.
Значением по умолчанию является 0.
Реализация
public function get leftExtension():int
public function set leftExtension(value:int):void
precisionHint | свойство |
precisionHint:String
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Точность вычисления математических операций, выполняемых основным затенением. Набор возможных значений свойства precisionHint определяется константами класса ShaderPrecision.
Значением по умолчанию является ShaderPrecision.FULL.
Реализация
public function get precisionHint():String
public function set precisionHint(value:String):void
Связанные элементы API
rightExtension | свойство |
rightExtension:int
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Прирост в пикселях с правой стороны целевого объекта.
Прирост — это область за границами целевого объекта, передаваемая шейдеру во время выполнения. Во время выполнения Flash Player или AIR вычисляет нормальные границы фрагмента ролика и расширяет их в соответствии со значениями leftExtension
, rightExtension
, topExtension
и bottomExtension
.
Значением по умолчанию является 0.
Реализация
public function get rightExtension():int
public function set rightExtension(value:int):void
shader | свойство |
topExtension | свойство |
topExtension:int
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Прирост в пикселях с верхней стороны целевого объекта.
Прирост — это область за границами целевого объекта, передаваемая шейдеру во время выполнения. Во время выполнения Flash Player или AIR вычисляет нормальные границы фрагмента ролика и расширяет их в соответствии со значениями leftExtension
, rightExtension
, topExtension
и bottomExtension
.
Значением по умолчанию является 0.
Реализация
public function get topExtension():int
public function set topExtension(value:int):void
ShaderFilter | () | Конструктор |
public function ShaderFilter(shader:Object = null)
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Конструктор.
Параметрыshader:Object (default = null ) — Полностью реализованный экземпляр flash.display.Shader или элемент Class, представляющий Shader (например, из Embed).
|
<?xml version="1.0"?> <s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009"> <!-- The hypothetical 'spherize' shader applied below has two input parameters, 'center' and 'radius' with the following attributes: parameter 'center' ==< type: float2 minValue: float2(-200,-200) maxValue: float2(800,500) defaultValue: float2(400,250) description: "displacement center" parameter 'radius' ==< type: float minValue: float(.1) maxValue: float(400) defaultValue: float(200) description: "radius" --> <s:Label text="ABCDEF"> <s:filters> <s:ShaderFilter shader="@Embed(source='shaders/spherize.pbj')" radius="25" center_x="50" center_y="15" /> </s:filters> </s:Label> </s:Application>
Tue Jun 12 2018, 11:34 AM Z