我有一個需要運行Flash版本10.0的Flash應用程序。我想添加在Flash 10.2中引入的原生鼠標遊標,但我不想要求我的所有用戶都升級,而且我也不想編譯我的應用程序的兩個單獨版本。可選使用Flash 10.2遊標,同時仍與Flash 10.0兼容?
有什麼辦法可以在運行時檢測遊標是否可用,然後使用它們?
看起來好像如果您只爲Flash 10.0編譯,它將SWF版本標頭標記爲「10」,並且您無權訪問新的API。如果您爲Flash 10.2進行編譯,它會將版本標頭標記爲「11」,並且您可以訪問新的API,但無法再在舊版Flash播放器中運行(在加載Flex框架時出現瘋狂錯誤:
VerifyError: Error #1053: Illegal override of play2 in org.osmf.net.dynamicstreaming.DynamicNetStream.
ReferenceError: Error #1065: Variable _379fa43169660c76f131cadc0adfbfe8f347bd31d3ceec26a9cb2a56f0dda1f9_flash_display_Sprite is not defined.
據我所知,Flash播放器10.2仍在測試階段。 – 2011-01-06 04:36:38
這對於單個SWF來說是不可能的。在加載和加載正確版本的swf之前,您需要進行一些版本檢測。 – 2011-01-06 10:16:48
這樣的痛苦,我的SWF就像總共2MB,差別就像15行代碼。我不想重新編譯一個不同版本的整個東西。他們真的應該考慮讓Flash更向前兼容。 – davr 2011-01-06 18:47:39