適用於 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 時針對下列項目指定輸入:

  • 著色器填色
  • 如果著色器定義為使用 1 個以上的輸入時,只需針對第二個或其它的輸入指定 ShaderFilter (要透用濾鏡的物件會被自動當作第一個輸入來使用)。
  • 如果著色器定義為使用 2 個以上的輸入時,只需針對第三個或其它的輸入指定著色器混合模式 (正在轉換的物件會被自動當成第一個與第二個輸入來使用)。
  • ShaderJob 背景執行作業

如果著色器是使用 ShaderJob 實體來執行以處理包含資料線性陣列的 ByteArray,請在 ByteArray 中將 ShaderInput 實體的 height 設為 1 並將其 width 設為 32 位元浮點值的數字。 在此情況下,著色器中的輸入必須使用 image1 資料類型來定義。

一般而言,開發人員程式碼不會直接建立 ShaderInput 實體。ShaderInput 實體會在建立 Shader 實體時針對每一個著色器輸入建立。

相關 API 元素



公用屬性
 屬性定義自
  channels : int
[唯讀] 著色器輸入預期的色版數目。
ShaderInput
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
  height : int
著色器輸入的高度。
ShaderInput
  index : int
[唯讀] 著色器中的輸入索引 (從零開始),指出著色器中輸入定義的順序。
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> 實體。



實作
    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

著色器中的輸入索引 (從零開始),指出著色器中輸入定義的順序。



實作
    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 乘以 height 乘以 channels 乘以 4 的值。
  • 位元組陣列的 endian 屬性必須是 Endian.LITTLE_ENDIAN

如果將 Vector.<Number> 實體指派給 input 屬性,則 Vector 的長度必須等於 width 乘以 height 乘以 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 建構函式。ShaderInput 實體會在建立 Shader 實體時針對每一個著色器輸入建立。





[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。