2013-04-20 18 views
5

我試圖使用新ASC2.0編譯器的AIR SDK 3.7,但我似乎遇到了一個問題,即它不能檢測我的預加載類。ASC 2.0是否識別[Frame]元數據標籤(例如:Preloader factoryClass)?

如果我使用非ASC2.0編譯器,它承認並編譯在我的主類的框架元數據標籤聲明Preloader類,像這樣:只要我編譯

[Frame(factoryClass = "Preloader")] 

但使用ASC2.0,它忽略了Frame元數據,只是試圖編譯Main類並假定它是Sprite/MovieClip的子類(當它預裝了Frame元數據標籤時,它不一定非要) ,所以它不能編譯。

如果有人能證實這很好,那麼我已經在這個車輪上旋轉了一段時間。謝謝!

+1

僅供參考,在此處使用preloader類的教程在一個純粹的AS3項目中,看到這個[優秀的教程](http://www.bit-101.com/blog/?p=946) – 2014-12-08 23:10:53

+0

值得注意的是,雖然該教程是寫在「預」ASC 2.0,所以它可能只適用於標準的SDK。 – bigp 2014-12-09 18:09:18

回答

10

顯然,它不再支持。有一個類似的問題在這裏問:

ASC2.0 and Frame metatag

新的解決方案似乎是這樣的:

您必須手動添加編譯參數爲-frame數據。

但是,要使這項工作成功,您必須設置您的項目與[Frame]元數據技術稍有不同。

之前(使用舊[Frame]元數據技術時),你不得不 指定主類的文檔類(然後將 編譯和重定向的主入口點到您指定的預載 類)。

現在使用ASC2.0代替將Preloader類設置爲文檔類

這裏是你必須設置的幾件事情:

  • 預載類應該延長影片剪輯子類。
    (這使您可以將主要內容嵌入幀#2
  • 將您的「Preloader.as」類(或者您稱爲它)指定爲Document類。
  • 將這個其他編譯器參數
    -frame=AnyFrameLabelYouWant,YourMainClass
  • 另外,在本其他編譯器參數添加SWF版本:
    -swf-version=18(雖然我認爲17將與ASC2.0工作,以及...)
  • 確保您在IDE中使用ASC2.0 SDK編譯器!

注意現在,我想,也許這可能注入/** @mxmlc */ JavaDoc註釋給編譯器指令,但我沒有嘗試這樣呢。這可能是ASC2.0編譯器中缺少元數據支持的解決方法。 (編輯:我試過這一次,這個功能似乎只與FlashDevelop中的「Build」工具欄按鈕一起工作,它只編譯當前聚焦的文件)

+0

非常感謝! – NoobsArePeople2 2015-04-10 17:20:09