2011年7月31日 星期日

[教學] Adobe AIR 載入外部 SWF 問題

在Android 運行AIR, 如需要載入外部SWF, 可使用傳統方法:
  • Flash 環境使用Loader
  • Flex 環境使用SWFLoader

但在iOS 運行AIR, 不能載入外部SWF, 其中一個解決方法是使用SWC:

在Flash Professional 與Flash Builder 使用SWC 請參考以下步驟:

Step1: 在Flash Professional 的Library 中, 選擇一個MovieClip, 然後在Commands 按Convert Symbol to Flex Container


Step2: 按Export SWC File..., 把MovieClip 輸出成SWC


Step3: 在Flash Builder, 把SWC 存放在lib 資料夾中, 完成後便可直接使用MovieClip

使用SWC 時, 有兩點需要注意:
  • SWC 必須為ActionScript 3.0 版本
  • 由於Flex Mobile Project 中的View 物件未產生stage 和root 實體, 因此SWC 不能直接使用相關功能, 但可以parent 呼叫Flex 中物件, 或等待applicationComplete 事件發動後才使用

2 則留言:

maimai 提到...

flash可以製作出簡單的flash包在app裡嗎?
可以上傳或是直接丟Android和iphone手機使用
還是一定要用html5+ccs3?
http://sadpanda.us/images/1174621-7H1ZD9E.jpg

我不會寫程試只會簡單的flash所以可以製作嗎?
有人說用AIR可我看他好像要寫程式也?
不能簡單flash製作出來嗎?
另外cs3版本可以製作嗎?

請問AIR的語法與原先FLASH的2.0或3.0相容嗎?也可用補間效果吧!
那麼對方手機可不需安裝FLASH PLAY就可以看了嗎?
不知有什麼書籍可推薦...

Turtler 提到...

若以AIR 形式發佈app, 丟在Android 和iPhone 手機, 是不需要手機安裝Flash Player, 原因是在包裝app 的過程, 已內建Flash Player 其中.

製作簡單的Flash, 傳統的時間軸(Timeline) 方法, 同樣可以製作app. 請參考這個:
http://flash-adobe.blogspot.hk/2011/10/designer-apps.html

若發佈AIR 於手機, CS5, CS5.5 和現在CS6 才可以. 但建議使用CS6, 因為功能較完整.