[英]assign swf as image source in flex at runtime
在 Flex 中,如何在運行時將 swf 指定為圖像源,而不是嵌入它。
[Bindable] public var myImg:String;
<mx:Image id="intImg" source="{myImg}" width="96%" height="96%" />
在我的應用程序中,我從 web 服務調用中動態獲取圖像 url,並將其分配給“myImg”。
但在我沒有得到 web 服務調用的響應之前,我想在上面的圖像控件中顯示一個加載器 swf。 我分配了類似的東西:
myImg = "assets/AS3.swf";
並且 swf 的路徑是正確的,但它沒有顯示出來。
更新:
我上面顯示的代碼在 Flex 3 應用程序中完美運行,但 swf 沒有顯示在 Flex 4 應用程序中。 是不是因為 Image 控件在 Flex 4 中放棄了對 swf 的支持?
請幫幫我。
謝謝
使用SWFLoader
加載 SWF,圖像是為圖像制作的......
你絕對確定你的路徑是正確的嗎? 因為它應該工作。
請記住,您編寫的路徑 (assets/AS3.swf) 是相對於應用程序 swf 文件的位置的。 因此,例如,如果您在 FlashBuilder/FlexBuilder 中進行調試,則該文件應位於
[yourprojectdirectory]/bin-debug/assets/AS3.swf
非嵌入文件不會自動復制到 bin-debug 文件夾(或 bin-release 文件夾)。 所以你必須手動完成。
您可以使用 web 調試代理(如Charles )來查看是否在您使用的路徑中找到該文件。
您是否在 Flex 3 到 Flex 4.5 的遷移中不小心將 mx:Image 重構為 s:Image?
對於 Spark Image,您可能需要在 SWF 中引用符號名稱。
我發現這行得通:
<s:Image source="@Embed(source='path.swf', symbol='name')" ...
不過,這似乎是一種不好的做法 - 與 mx:Image 不同的是,它會原生加載 SWF,Spark Image 旨在用於 bitmap 數據。
對於Flex 4 ,我認為只有支持AS3 (AVM2*) 的 SWF 被放棄了。 嘗試在 AVM1* 中運行的AS1 和 AS2
* AVM(動作腳本虛擬機)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.