Пакет | flash.display |
Класс | public final dynamic class ShaderParameter |
Наследование | ShaderParameter Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
value
.
Доступ к экземпляру ShaderParameter, представляющему параметр экземпляра Shader, осуществляется в качестве свойства data
экземпляра Shader. В коде затенения имя свойства ShaderParameter совпадает с именем параметра. Например, если затенение задает параметр с именем radius
, то экземпляр ShaderParameter, представляющий параметр radius
, будет доступен в качестве свойства radius
. Пример:
var radiusParam:ShaderParameter = myShader.data.radius;
В дополнение к заданным свойствам класса ShaderParameter каждый экземпляр ShaderParameter обладает дополнительными свойствами, соответствующими любым метаданным, определенным для параметра. Эти свойства применяются к объекту ShaderParameter при его создании. Имена свойств совпадают с именами метаданных, указанными в исходном коде затенения. Типы данных каждого свойства различаются в зависимости от типов данных соответствующих метаданных. Значение метаданных текста «описание» является экземпляром String. Свойство метаданных, содержащее не строковое значение (например, minValue
или defaultValue
), является экземпляром Array. Количество элементов и типов данных элементов совпадает со значениями метаданных.
Предположим, в затенение входит два следующих объявления параметров:
parameter float2 size < description: "The size of the image to which the kernel is applied"; minValue: float2(0.0, 0.0); maxValue: float2(100.0, 100.0); defaultValue: float2(50.0, 50.0); >; parameter float radius < description: "The radius of the effect"; minValue: 0.0; maxValue: 50.0; defaultValue: 25.0; >;
В дополнение к встроенным свойствам в экземпляре ShaderParameter, который соответствует параметру size
, присутствуют следующие свойства метаданных:
Имя свойства | Тип данных | Значение |
---|---|---|
name
| String |
"size"
|
description
| String |
"The size of the image to which the kernel is applied"
|
minValue
| Array |
[0, 0]
|
maxValue
| Array |
[100, 100]
|
defaultValue
| Array |
[50, 50]
|
ShaderParameter, соответствующий параметру radius
, обладает следующими дополнительными свойствами:
Имя свойства | Тип данных | Значение |
---|---|---|
name
| String |
"radius"
|
description
| String |
"The radius of the effect"
|
minValue
| Array |
[0]
|
maxValue
| Array |
[50]
|
defaultValue
| Array |
[25]
|
Обычно в коде разработчика прямое создание экземпляра ShaderParameter не заложено. При создании экземпляра Shader экземпляр ShaderParameter создается автоматически для каждого параметра затенения.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
index : int [только для чтения]
Отсчитываемое от нуля значение индекса для параметра. | ShaderParameter | ||
type : String [только для чтения]
Тип данных параметра согласно заданному типу в затенении. | ShaderParameter | ||
value : Array
Значение или значения, передаваемые в качестве значений параметра затенения. | ShaderParameter |
Метод | Определено | ||
---|---|---|---|
Создает экземпляр ShaderParameter. | ShaderParameter | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
index | свойство |
type | свойство |
type:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Тип данных параметра согласно заданному типу в затенении. Набор возможных значений свойства type
определяется константами класса ShaderParameterType.
Реализация
public function get type():String
Связанные элементы API
value | свойство |
value:Array
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Значение или значения, передаваемые в качестве значений параметра затенения. Свойство value
является индексированным массивом. Число и тип элементов массива соответствует типу данных параметра и задается с помощью свойства type
.
В следующей таблице указан тип параметра и соответствующие значение числа и типа данных value
элементов массива:
Тип параметра | Число элементов | Тип данных элементов |
---|---|---|
float (ShaderParameterType.FLOAT ) | 1 | Number |
float2 (ShaderParameterType.FLOAT2 ) | 2 | Number |
float3 (ShaderParameterType.FLOAT3 ) | 3 | Number |
float4 (ShaderParameterType.FLOAT4 ) | 4 | Number |
int (ShaderParameterType.INT ) | 1 | int или uint |
int2 (ShaderParameterType.INT2 ) | 2 | int или uint |
int3 (ShaderParameterType.INT3 ) | 3 | int или uint |
int4 (ShaderParameterType.INT4 ) | 4 | int или uint |
bool (ShaderParameterType.BOOL ) | 1 | Boolean |
bool2 (ShaderParameterType.BOOL2 ) | 2 | Boolean |
bool3 (ShaderParameterType.BOOL3 ) | 3 | Boolean |
bool4 (ShaderParameterType.BOOL4 ) | 4 | Boolean |
float2x2 (ShaderParameterType.MATRIX2X2 ) | 4 | Number |
float3x3 (ShaderParameterType.MATRIX3X3 ) | 9 | Number |
float4x4 (ShaderParameterType.MATRIX4X4 ) | 16 | Number |
Если используются параметры типа «матрица», то массив заполняется сначала по горизонтали, затем по вертикали. Предположим, что следующая строка ActionScript используется для заполнения параметра float2x2
с именем myMatrix
:
myShader.data.myMatrix.value = [.1, .2, .3, .4];
Значения элементов матрица в заголовке затенения:
myMatrix[0][0]
: .1myMatrix[0][1]
: .2myMatrix[1][0]
: .3myMatrix[1][1]
: .4
Реализация
public function get value():Array
public function set value(value:Array):void
ShaderParameter | () | Конструктор |
public function ShaderParameter()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Создает экземпляр ShaderParameter. В коде разработчика прямой вызов конструктора ShaderParameter не производится. При создании экземпляра Shader экземпляр ShaderParameter создается автоматически для каждого параметра затенения.
Tue Jun 12 2018, 11:34 AM Z