使用 3D 效果

考慮手動建立 3D 效果。

Flash Player 10 與 AIR 1.5 引進 3D 引擎,這可讓您在顯示物件上套用透視變形。您可以使用 rotationX rotationY 屬性,或是使用 Graphics 類別的 drawTriangles() 方法來套用這些變形。您也可以使用 z 屬性來套用深度。請記住每個透視變形的顯示物件都會點陣化為點陣圖,因此需要更多的記憶體。

下圖說明使用透視變形時由點陣化所產生的消除鋸齒:

檢視完整大小的圖形
透視變形所產生的消除鋸齒

消除鋸齒是向量內容動態點陣化為點陣圖的結果。當您在 AIR 與 Flash Player 的桌上型電腦版本,以及在行動裝置版的 AIR 2.0.1 與 AIR 2.5 中使用 3D 效果時,可消除鋸齒。不過,在行動裝置版的 Flash Player 上不適用消除鋸齒。

如果您手動建立 3D 效果,而不依賴原生 API,這將可降低記憶體的使用量。不過,在 Flash Player 10 與 AIR 1.5 中引進的新 3D 功能,會使紋理對應更為容易,因為像 drawTriangles() 等方法會以原生方式處理紋理對應。

身為開發人員,您必須判斷要建立的 3D 效果需透過原生 API 還是手動處理,才可提供更佳的效能。請考量 ActionScript 執行與顯示效能,以及記憶體用量。

在 AIR 2.0.1 與 AIR 2.5 行動應用程式中,可以將 renderMode 應用程式屬性設為 GPU ,GPU 就會執行 3D 變形。不過,如果 renderMode 是設為 CPU ,則 CPU (不是 GPU) 會執行 3D 變形。在 Flash Player 10.1 應用程式中,CPU 會執行 3D 變形。

CPU 執行 3D 變形時,請考慮到將任何 3D 變形套用至顯示物件,在記憶體中會需要兩個點陣圖。第一個點陣圖是用於來源點陣圖,第二個點陣圖則用於透視變形版本。這樣一來,3D 變形的運作方式便與濾鏡類似。因此,當 CPU 執行 3D 變形時,請撙節使用 3D 屬性。