用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: 正在从服务器检索数据...
正在从服务器检索数据...
flash.display 

ShaderInput  - AS3

flash.display
public final dynamic class ShaderInput
继承ShaderInput Inheritance Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

ShaderInput 实例表示着色器内核的单一输入图像。可以将内核定义为接受在内核执行过程中使用的 0 个、1 个或更多源图像。ShaderInput 实例提供了一种机制,用于指定在着色器执行时使用的输入图像。要为输入指定值,请创建包含图像数据的 BitmapData、ByteArray 或 Vector.<Number> 实例,并将其赋予 input 属性。

表示 Shader 实例的输入图像的 ShaderInput 实例将作为 Shader 实例的 data 属性的一个属性进行访问。ShaderInput 属性的名称与着色器代码中输入的名称相同。例如,如果着色器定义一个名为 src 的输入,则表示 src 输入的 ShaderInput 实例可作为 src 属性使用,如此示例所示:

myShader.data.src.input = new BitmapData(50, 50, true, 0xFF990000);

对于 Shader 实例的某些用法,您无需指定输入图像,因为操作会自动指定输入图像。您只需要在 Shader 用于以下各项时指定输入:

  • 着色器填充
  • ShaderFilter:如果将着色器定义为使用一个以上的输入,则只适用于第二个输入或其他输入。(将自动使用应用了滤镜的对象作为第一个输入。)
  • 着色器混合模式:如果将着色器定义为使用两个以上的输入,则只适用于第三个输入或其他输入。(将自动使用正在进行混合的对象作为第一个和第二个输入。)
  • ShaderJob background execution

如果正在使用 ShaderJob 实例执行着色器来处理包含线性数据数组的 ByteArray,请在 ByteArray 中将 ShaderInput 实例的 height 设置为 1,并将 width 设置为 32 位浮点值数字。在这种情况下,必须将着色器中的输入定义为具有 image1 数据类型。

通常,开发人员代码不直接创建 ShaderInput 实例。在创建 Shader 实例时,将为着色器的每个输入创建一个 ShaderInput 实例。

相关 API 元素



公共属性
 属性由以下参数定义
  channels : int
[只读] 着色器输入所需的通道数量。
ShaderInput
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  height : int
着色器输入的高度。
ShaderInput
  index : int
[只读] 着色器中的输入从 0 开始的索引,表示着色器中输入定义的顺序。
ShaderInput
  input : Object
在着色器执行时使用的输入数据。
ShaderInput
  width : int
着色器输入的宽度。
ShaderInput
公共方法
 方法由以下参数定义
  
创建 ShaderInput 实例。
ShaderInput
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
属性详细信息

channels

属性
channels:int  [只读]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

着色器输入所需的通道数量。当输入数据为 ByteArray 或 Vector.<Number> 实例时,<Number> 实例。



实现
    public function get channels():int

height

属性 
height:int

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

着色器输入的高度。仅在输入数据为 ByteArray 或 Vector.<Number> 实例。如果输入为 BitmapData 实例,则会自动确定高度。



实现
    public function get height():int
    public function set height(value:int):void

index

属性 
index:int  [只读]

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

着色器中的输入从 0 开始的索引,表示着色器中输入定义的顺序。



实现
    public function get index():int

input

属性 
input:Object

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

在着色器执行时使用的输入数据。此属性可以是 BitmapData 实例、ByteArray 实例或 Vector.<Number> 实例。

如果将 ByteArray 值赋予 input 属性,则必须满足下列条件:

  • 必须设置 heightwidth 属性。
  • 字节数组的内容必须只包含 32 位浮点值。可以使用 ByteArray.writeFloat() 方法写入这些值。
  • ByteArray 的总长度(以字节为单位)必须正好为:width x height x channels x 4。
  • 字节数组的 endian 属性必须为 Endian.LITTLE_ENDIAN

如果将 Vector.<Number> 实例赋予 input 属性,则 Vector 的长度必须等于:width x height x channels



实现
    public function get input():Object
    public function set input(value:Object):void

width

属性 
width:int

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

着色器输入的宽度。仅在输入数据为 ByteArray 或 Vector.<Number> 实例。如果输入为 BitmapData 实例,则会自动确定宽度。



实现
    public function get width():int
    public function set width(value:int):void
构造函数详细信息

ShaderInput

()构造函数
public function ShaderInput()

语言版本: ActionScript 3.0
运行时版本: Flash Player 10, AIR 1.5

创建 ShaderInput 实例。开发人员代码不直接调用 ShaderInput 构造函数。在创建 Shader 实例时,将为着色器的每个输入创建一个 ShaderInput 实例。





[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。