2012年3月5日 星期一

使用 FlashDevelop 開發 AIR 3.2 RC + Starling Framework1.0 行動裝置專案

AIR 3.2 RC 與 Starling Framework 1.0都在一個禮拜前Release了,AIR 3.2的一大重點是行動裝置上可以支援Stage 3D API了,而Starling Framework也正式更新到1.0。因此我們終於可以拿它來開發行動裝置上高效能的2D遊戲了。當然配合Away 3D 4.0等3D API也能開發高效能的3D遊戲。這篇來整理一下使用FlashDevelop如何開發並發佈到行動裝置上。
首先當然要去下載SDK與API。
 1.Starling Framework 1.0:官網換了,版本也到1.0了。如果要使用Starling-Extension-Particle-System,記得要去下載的extension,已支援1.0版。
 2.AIR 3.2 RC:RC通常是正式Release前的一個版本,所以要上Adobe labs下載。頁面中間是desktop的檔案,以及Android的.apk檔。因為Android的.apk檔現在在Market上還無法下載,所以要自己從labs上下載後手動安裝,這樣測試的裝置才能跑我們開發的專案。頁面下方則是SDK。下載完SDK要跟Flex SDK整合,進入FlashDevelop\Tools資料夾,把flexsdk資料夾複製一份命名成flexsdk46air32(目前最新Flex SDK是4.6版,若使用其他版本請自行命名適合的名稱),把AIR 3.2 SDK解壓縮後丟進這個資料夾,覆蓋所有檔案。flexsdk46air32裡面就是我們專案要用的Flex SDK。 安裝完後接著要開一個新的專案。選擇 ActionScript3 / AIR Mobile AS3 App :
這個Project Template在FlashDevelop 4.0已經內建好,不需要再去下載了。

開完專案後,把我們之前的Starling專案找出來,記得先把Starling Framework更新到1.0,然後把Main.as以外的檔案複製到我們新的AIR專案裡。Main.as則把Starling那部分的程式碼複製到新專案的Main.as裡面,這樣原始碼就完成了,不需要其他的修改! 

接著必須做一連串的專案設定,主要就是產生認證檔以及SDK路徑設定,還有專案發佈版本設定等等。幸好這個專案的Template提供了兩個說明檔:AIR_Android_readme.txt以及AIR_iOS_readme.txt,依照我們要發佈到哪個裝置就參考哪個readme.txt,每個步驟都很清楚,也有一些參考連結可以看。順帶一提,application.xml裡面renderMode要設為direct,另外有個新的設定depthAndStencil,預設為false,沒有看到這個設定的話就代表使用預設值。使用Starling的話也是設定為false,若是玩Away 3D的話才需要設為true。其他一些小地方的設定可以參考這篇。如果有成功做到readme.txt裡的最後一步,就可以把檔案丟到裝置裡去跑了。同一個專案就可以發佈iOS與Android版,而且原始碼幾乎是從Browser版的直接拿來用。

 大概就是這樣。目前使用iPad 2測試下來,效能真的非常好,以後真的可以考慮使用AIR來開發跨平台遊戲了。祝大家測試成功。

4 則留言:

  1. 非常感謝前輩您的詳細解說~

    只是我發現關於在建立一個新專案 AIR Mobile AS3 App初始場景寬高預設值是480*762,在我做完動畫效果發佈到Iphon後發現手機上的版面寬高增加為2倍..變成960*1452,在develop4完成的動畫物件全都跑掉了..於是我看了一下cs5.5 AIR for IOS的預設場景為320*480然後又調整了develop4但卻出現發佈版面(依舊維持在480*762),而發佈內容(320*480)兩者無法對應的情況~

    請問這該如何做調整呢?

    感謝前輩..

    回覆刪除
  2. AIR Mobile AS3 App 專案下會有一個 run.bat, SCREEN_SIZE=設定成想要的裝置名稱 再去設定專案屬性場景大小, EX: SCREEN_SIZE=iphone, 場景就設 320x480
    另外 application.xml 的 fullScreen 如果設定 false 在 ios 上會少 20px(4/4s少40px), 不過設 true 的話 starling 就沒法在 air player 上測試 所以開發時還是要先設定 false

    回覆刪除