2012-10-23 34 views
2

我有一個使用Flash CS6開發的Flash項目(AS3)。我正在開發iOS設備,Android設備,桌面(空氣)和網頁瀏覽器(swf)。到目前爲止,我已經能夠使用一個代碼庫,在發佈到每個代碼時僅進行一些修改 -簡化從單個Flash項目發佈android,iphone,swf和air的Flash CS6 AS3代碼的過程的最佳方法是什麼?

我有一些代碼可以處理在移動設備上退出應用程序,當用戶按下使用flash.desktop.NativeApplication類。顯然,這不是桌面或swf版本所需要的,所以當我爲這些發佈時,我會註釋掉相關的導入語句和代碼,它們會監聽正在推送的主頁按鈕。

我也有一個config.xml文件來加載一些設置,對於swf它不在swf文件所在的目錄中,所以當swf對象被加載時(flashvars)傳入這個配置文件的位置。但是,對於所有其他版本的路徑,該文件只是config.xml中,所以我註釋掉處理Flash變數的加載代碼 -

需要類似的步驟
allFlashVars = LoaderInfo(this.root.loaderInfo).parameters; 
webroot = String(allFlashVars["webroot"]) 

有版本之間的一些其他方面的差異,我已經確保在自己的文檔中記下自己的記憶和其他開發人員。

但是,我知道這不是理想的解決方案,並認爲必須有更好的方法來管理此問題。

有沒有人知道處理這種情況的好建議/最佳做法?

謝謝

回答

1

我知道兩種方法。

  • 使用條件編譯。這種方式描述爲here
  • 使用工廠模式。您可以在主課堂中調整工廠。針對每個平臺,針對不同的工廠設置製作不同的主類。
+0

非常感謝您的建議 - 我會閱讀這些。 – undefined

相關問題