| Пакет | spark.filters |
| Класс | public dynamic class ShaderFilter |
| Наследование | ShaderFilter Proxy |
| Реализует | 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
Скрыть синтаксис MXMLThe <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):voidleftExtension | свойство |
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):voidprecisionHint | свойство |
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):voidshader | свойство |
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):voidShaderFilter | () | Конструктор |
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
Показать синтаксис MXML