Flex實時載入Skin

2021-06-15 01:50:20 字數 1313 閱讀 5387

文中需要的資源檔案列在下面:

**模板

實時載入 flex **

目前,有很多關於如何在你的 flex 程式中繪製**的資源。

概述:flex 支援兩種繪製**的方法:貼圖和程式設計。貼圖**是在flash、photoshop、firework等軟體中建立**資源影象,然後將他們匯入(embed)到 flex 程式中;程式設計**是建立乙個通過程式定義乙個控制項**的 actionscript 類。你可能猜到,貼圖**比較簡單,程式設計**可以實現更加豐富的效果。

這兩個方法都有乙個共同的缺點是,**資源(對於貼圖來說是 swf/png/gif 等檔案,對於程式設計來說是那個 as 類)必須在程式編譯時就被包括。怎麼改進呢?在這篇文章中我將演示乙個如何實時載入貼圖**的巧妙方法。

為了使這個例子盡可能的簡單,我僅建立乙個只有乙個按鈕的 flex 程式,這個按鈕的**是動態新增的。本程式將實時取得乙個** swf 檔案,載入**,然後把它們應用到按鈕上。

第一步:為**資源建立乙個外殼 swf

目的,有了這個外殼 swf,我的 flex 程式就可以實時載入**中適當的資源

package

} 譯者注:上面**需要用 mxmlc 編譯,不用使用 flex builder 去建專案。

第二步:將這個外殼 swf 放到伺服器上

flex 程式需要從某個地方載入**呀。

第三步:在 flex 程式中使用 loader 載入外殼 swf

我建了乙個比較實用的類 classloader 來載入 swf 檔案,並且將其轉化為類。以下是一些關鍵行:

loader = new loader();

loader.contentloaderinfo.addeventlistener(event.complete, completehandler);

loader.contentloaderinfo.addeventlistener(ioerrorevent.io_error, ioerrorhandler);

loader.contentloaderinfo.addeventlistener(securityerrorevent.security_error, securityerrorhandler);

...request = new urlrequest(swflib);

var context:loadercontext = new loadercontext();

loader.load(request, context);

第四步:從載入的 swf 中生成類,然後例項化

第五步:利用 setstyle 應用**

這個很簡單了。

第六步:執行程式

flex 從檔案載入資料

結果輸出 file data i love you,baby 我好想好想你哦!file was successfully loaded loaded 33 of 33 bytes loaded 0 of 33 bytes filereferenceloadexample package com.le...

Flex 載入中文路徑檔案

使用flex flash的loader urlloader 或它們的派生類 使用urlrequest 通過http 載入帶中文路徑的檔案時,出現檔案不存在錯誤。例如 http common asset 新資料夾1 1.jpg 通過在伺服器對http報文進行監控。case1 用loader載入時,伺服...

FLEX實踐 載入XML檔案錯誤

這兩天在研究乙個flex小相簿,準備做乙個超級簡單的純flex相簿,沒想到在讀取xml檔案的時候遇到了這樣乙個問題 1 用flex builder建立了乙個flex工程 2 寫了乙個mxml檔案,乙個xml檔案 3 在程式中用httpservice和urlrequest兩種方法分別讀取xml檔案內容...