套件 | flash.display3D.textures |
類別 | public final class Texture |
繼承 | Texture TextureBase EventDispatcher Object |
定義 2D 紋理,以供顯示期間使用。
Texture 無法直接實體化。請使用 Context3D CreateTexture()
方法建立實體。
相關 API 元素
方法 | 定義自 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
釋放與這個紋理關聯的所有 GPU 資源。 | TextureBase | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
uploadCompressedTextureFromByteArray(data:ByteArray, byteArrayOffset:uint, async:Boolean = false):void
從 ByteArray 物件上傳 Adobe Texture Format (ATF) 格式的壓縮紋理。 | Texture | ||
從 BitmapData 物件上傳紋理。 | Texture | ||
以非同步方式從 BitmapData 物件上傳紋理的 MIP 層級 0。 | Texture | ||
從 ByteArray 上傳紋理。 | Texture | ||
以非同步方式從 ByteArray 上傳紋理的 MIP 層級 0。 | Texture | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
uploadCompressedTextureFromByteArray | () | 方法 |
public function uploadCompressedTextureFromByteArray(data:ByteArray, byteArrayOffset:uint, async:Boolean = false):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 11, AIR 3 |
從 ByteArray 物件上傳 Adobe Texture Format (ATF) 格式的壓縮紋理。ATF 檔案版本 2 需要 SWF 版本 21 或更新版本,並且 ATF 檔案版本 3 需要 SWF 版本 29 或更新版本。對於以 png 影像建立但沒有 alpha 的 ATF 檔案,Context3DObject::createTexture
期間設定的 format
字串應為「COMPRESSED」,而對於以 png 影像建立但具有 alpha 的 ATF 檔案,Context3DObject::createTexture
期間設定的 format
字串則應為「COMPRESSED_ALPHA」。
參數
data:ByteArray — 位元組陣列,其中包含壓縮的紋理,包括 MIP 映射。ByteArray 物件必須使用 little endian 格式。
| |
byteArrayOffset:uint — 要開始讀取紋理資料的位元組陣列位置。
| |
async:Boolean (default = false ) — 如果為 true,則這個函數會立即傳回。在上傳順利完成之前,任何嘗試使用紋理的 draw 方法都將失敗。一旦上傳成功,這個 CubeTexture 物件就會傳送 Event.TEXTURE_READY 。預設值:false。
|
擲回值
TypeError — Null 指標錯誤:data 為 null。
| |
ArgumentError — 紋理解碼失敗:無法從 data 中的壓縮資料格式衍生此物件的壓縮格式,或者 SWF 版本與 ATF 檔案版本不相容。
| |
ArgumentError — 紋理大小不相符:解壓縮的紋理寬度與高度不等於此紋理物件的尺寸。
| |
ArgumentError — MIP 層級太大:解壓縮的紋理的 MIP 層級大於紋理大小所隱含的層級。
| |
ArgumentError — 紋理格式不相符:解碼的 ATF 位元組未包含與這個紋理格式相容的紋理。
| |
Error — 3768:在背景執行期間不會使用 Stage3D API。
| |
RangeError — 輸入大小錯誤:byteArrayOffset 出現整數溢出,或者 byteArrayOffset + 6 大於 data 的長度,或者從 byteArrayOffset 到 data 位元組陣列結尾之間可用的位元組數小於 ATF 紋理所需的資料數量。
|
相關 API 元素
uploadFromBitmapData | () | 方法 |
public function uploadFromBitmapData(source:BitmapData, miplevel:uint = 0):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 11, AIR 3 |
從 BitmapData 物件上傳紋理。
參數
source:BitmapData — 點陣圖。
| |
miplevel:uint (default = 0 ) — 要載入的 Mip 層級,層級 0 是最高階的全解析度影像。
|
擲回值
TypeError — Null 指標錯誤:source 為 null。
| |
ArgumentError — MIP 層級太大:指定的 MIP 層級大於較大紋理尺寸所隱含的層級。
| |
ArgumentError — 無效的 BitmapData 錯誤:source BitmapData 物件未包含有效的立方體紋理面。影像的邊長必須為 2 的倍數且指定正確的 MIP 層級大小。
| |
ArgumentError — 紋理格式不相符:紋理格式為 Context3DTextureFormat.COMPRESSED 或 Context3DTextureFormat.COMPRESSED_ALPHA,並且程式碼是在不支援執行階段紋理壓縮的行動平台上執行。
| |
Error — 3768:在背景執行期間不會使用 Stage3D API。
|
uploadFromBitmapDataAsync | () | 方法 |
public function uploadFromBitmapDataAsync(source:BitmapData, miplevel:uint = 0):void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 24 |
以非同步方式從 BitmapData 物件上傳紋理的 MIP 層級 0。在上傳順利完成之前,任何嘗試使用紋理的 draw 方法都將失敗。一旦上傳成功,這個 Texture
物件就會傳送 Event.TEXTURE_READY
。Event.TEXTURE_READY 是回呼,表示已成功執行紋理物件所收到的非同步呼叫。在背景上傳期間一旦收到任何錯誤,這個 Texture
物件就會傳送 Event.ERROREVENT
。
參數
source:BitmapData — 點陣圖
| |
miplevel:uint (default = 0 )
|
擲回值
TypeError — Null 指標錯誤:source 為 null。
| |
ArgumentError — 無效的 BitmapData 錯誤:source BitmapData 物件未包含有效的紋理。影像必須為 2 的倍數且指定正確的 MIP 層級大小。
| |
ArgumentError — 紋理格式不相符:紋理格式為 Context3DTextureFormat.COMPRESSED 或 Context3DTextureFormat.COMPRESSED_ALPHA,並且程式碼是在不支援執行階段紋理壓縮的行動平台上執行。
| |
ArgumentError — 僅 MIP 層級 0 支援非同步上傳。
| |
Error — 3768:在背景執行期間不會使用 Stage3D API。
|
相關 API 元素
uploadFromByteArray | () | 方法 |
public function uploadFromByteArray(data:ByteArray, byteArrayOffset:uint, miplevel:uint = 0):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 11, AIR 3 |
從 ByteArray 上傳紋理。
參數
data:ByteArray — 位元組陣列,其中紋理內部格式含有足夠的位元組可以填滿紋理。rgba 紋理會讀取為每個 texel 組件 (1 或 4) 的位元組。浮點紋理會讀取為每個 texel 組件 (1 或 4) 的浮點。ByteArray 物件必須使用 little endian 格式。
| |
byteArrayOffset:uint — 要開始讀取紋理資料的位元組陣列物件位置。
| |
miplevel:uint (default = 0 ) — 要載入的 Mip 層級,層級 0 是最高階的全解析度影像。
|
擲回值
TypeError — Null 指標錯誤:data 為 null。
| |
ArgumentError — MIP 層級太大:指定的 MIP 層級大於較大紋理尺寸所隱含的層級。
| |
RangeError — 輸入大小錯誤:從 byteArrayOffset 到 data 位元組陣列結尾之間可用的位元組數小於此 MIP 層級紋理所需的資料數量,或者 byteArrayOffset 大於或等於 data 的長度。
| |
ArgumentError — 紋理格式不相符:紋理格式為 Context3DTextureFormat.COMPRESSED 或 Context3DTextureFormat.COMPRESSED_ALPHA,並且程式碼是在不支援執行階段紋理壓縮的行動平台上執行。
| |
Error — 3768:在背景執行期間不會使用 Stage3D API。
|
uploadFromByteArrayAsync | () | 方法 |
public function uploadFromByteArrayAsync(data:ByteArray, byteArrayOffset:uint, miplevel:uint = 0):void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 24 |
以非同步方式從 ByteArray 上傳紋理的 MIP 層級 0。在上傳順利完成之前,任何嘗試使用紋理的 draw 方法都將失敗。一旦上傳成功,這個 Texture
物件就會傳送 Event.TEXTURE_READY
。Event.TEXTURE_READY 是回呼,表示已成功執行紋理物件所收到的非同步呼叫。在背景上傳期間一旦收到任何錯誤,這個 Texture
物件就會傳送 Event.ERROREVENT
。
參數
data:ByteArray — 位元組陣列,其中紋理內部格式含有足夠的位元組可以填滿紋理。rgba 紋理會讀取為每個 texel 組件 (1 或 4) 的位元組。浮點紋理會讀取為每個 texel 組件 (1 或 4) 的浮點。ByteArray 物件必須使用 little endian 格式。
| |
byteArrayOffset:uint — 要開始讀取紋理資料的位元組陣列物件位置。
| |
miplevel:uint (default = 0 )
|
擲回值
TypeError — Null 指標錯誤:data 為 null。
| |
RangeError — 輸入大小錯誤:從 byteArrayOffset 到 data 位元組陣列結尾之間可用的位元組數小於 MIP 層級 0 紋理所需的資料數量,或者 byteArrayOffset 大於或等於 data 的長度。
| |
ArgumentError — 紋理格式不相符:紋理格式為 Context3DTextureFormat.COMPRESSED 或 Context3DTextureFormat.COMPRESSED_ALPHA,並且程式碼是在不支援執行階段紋理壓縮的行動平台上執行。
| |
ArgumentError — 僅 MIP 層級 0 支援非同步上傳。
| |
Error — 3768:在背景執行期間不會使用 Stage3D API。
| |
Error — 已對紋理物件起始非同步上傳,並且同一個紋理物件上有另一個非同步上傳呼叫。
|
相關 API 元素
Tue Jun 12 2018, 03:47 PM Z