| 包 | flash.display | 
| 类 | public final dynamic class ShaderParameter | 
| 继承 | ShaderParameter    Object | 
value 属性。
        
          表示 Shader 实例的参数的 ShaderParameter 实例将作为 Shader 实例的 data 属性的一个属性进行访问。ShaderParameter 属性的名称与着色器代码中参数的名称相同。例如,如果着色器定义一个名为 radius 的参数,则表示 radius 参数的 ShaderParameter 实例可作为 radius 属性使用,如下所示:
        
var radiusParam:ShaderParameter = myShader.data.radius;
          除了 ShaderParameter 类的已定义属性外,每个 ShaderParameter 实例还具有与为参数定义的任何元数据对应的附加属性。创建 ShaderParameter 对象时会将这些属性添加到该对象中。这些属性的名称与着色器源代码中指定的元数据名称相匹配。每个属性的数据类型因对应元数据的数据类型而异。文本元数据值(如“description”)是 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;
  >;
          对应于 size 参数的 ShaderParameter 实例除了其内置属性外还具有以下元数据属性:
        
| 属性名称 | 数据类型 | 值 | 
|---|---|---|
                              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]
                            | 
          对应于 radius 参数的 ShaderParameter 具有以下附加属性:
        
| 属性名称 | 数据类型 | 值 | 
|---|---|---|
                              name
                            | String | 
                              "radius"
                            | 
                              description
                            | String | 
                              "The radius of the effect"
                            | 
                              minValue
                            | Array | 
                              [0]
                            | 
                              maxValue
                            | Array | 
                              [50]
                            | 
                              defaultValue
                            | Array | 
                              [25]
                            | 
通常,开发人员代码不直接创建 ShaderParameter 实例。在创建 Shader 实例时,将为着色器的每个参数创建一个 ShaderParameter 实例。
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
![]()  | constructor : Object 
  对类对象或给定对象实例的构造函数的引用。  | Object | |
| index : int [只读 (read-only)] 参数的从 0 开始的索引。  | ShaderParameter | ||
![]()  | prototype : Object [静态] 
  对类或函数对象的原型对象的引用。  | Object | |
| type : String [只读 (read-only)] 着色器中定义的参数的数据类型。  | ShaderParameter | ||
| value : Array 以参数值形式传入到着色器的一个或多个值。  | ShaderParameter | ||
| 方法 | 定义方 | ||
|---|---|---|---|
创建 ShaderParameter 实例。  | ShaderParameter | ||
![]()  | 
  指示对象是否已经定义了指定的属性。  | Object | |
![]()  | 
  指示 Object 类的实例是否在指定为参数的对象的原型链中。  | Object | |
![]()  | 
  指示指定的属性是否存在、是否可枚举。  | Object | |
![]()  | 
     设置循环操作动态属性的可用性。  | Object | |
![]()  | 
  返回指定对象的字符串表示形式。  | Object | |
![]()  | 
  返回指定对象的原始值。  | Object | |
| index | 属性 | 
index:int  [只读 (read-only)] | 语言版本: | ActionScript 3.0 | 
| 运行时版本: | Flash Player 10, AIR 1.5 | 
参数的从 0 开始的索引。
    public function get index():int| type | 属性 | 
type:String  [只读 (read-only)] | 语言版本: | ActionScript 3.0 | 
| 运行时版本: | Flash Player 10, AIR 1.5 | 
          着色器中定义的参数的数据类型。type 属性的可能值的集合由 ShaderParameterType 类中的常量定义。
        
    public function get type():String另请参见
| 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 行来填充名为 myMatrix 的 float2x2 参数:
          
myShader.data.myMatrix.value = [.1, .2, .3, .4];
在着色器内,矩阵元素具有以下值:
myMatrix[0][0]: .1
            myMatrix[0][1]: .2
            myMatrix[1][0]: .3
            myMatrix[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 实例。