任何 Flash 内容都可以通过 AIR 打包到 iOS、Android 和 BlackBerry。
在 Flash Professional 中,这可以通过更改发布设置来完成:
以 AIR 3.3 为目标是最佳选择,对于 iOS 来说性能更高。此 AIR SDK 可以覆盖到 Flash Professional 发布设置;或者,您可以使用 ADT 命令行打包程序。
下载 AIR 3.0 SDK。
确保 JRE,或使用 Flash Builder 中的 JRE。
执行 adt 将 SWF 打包为 IPA:
adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc]
-keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12
-provisioning-profile ios.mobileprovision
HelloWorld.ipa
HelloWorld-app.xml
HelloWorld.swf icons Default.png
请务必注意,所有可执行代码必须驻留在单个 SWF 中才能在 iOS 平台上运行。不支持 SWFLoading 或任何动态加载的执行代码的 SWF。因此,将所有 Flash 链接到一个 SWF。
性能也是一个因素 - 输入帧上的大量动画和矢量图形将需要针对移动平台进行优化。
根据设计,有很多方面需要考虑。
应用程序在每个设备上以不同的分辨率全屏运行。您可以利用动态调整大小的优雅系统来适应这些多个屏幕或针对每个应用程序的特定分辨率。
如果您现有的 Flash 项目的宽高比不兼容,您将需要更新布局。
鼠标可以很好地转换为触摸,但存在一些不直观的细微差别。例如,悬停在触摸中通常很难实现。此外,鼠标光标不会遮挡视图,就像将手放在游戏区域上进行触摸一样。
移动触摸设备提高了可利用的多点触摸和手势的交互能力。
屏幕键盘可能被激活;但是,它将占用您的视口的一部分,并且对于大多数游戏来说很难进行交互。
您需要以与游戏玩法保持一致的方式转换键盘和鼠标事件。
参考:
- http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html
- http://www.adobe.com/devnet/air/articles/packaging-air-apps-android.html http://www.adobe.com/devnet/air/articles/packaging-air-apps-android.html
- http://www.adobe.com/devnet/air/articles/packaging-air-apps-blackberry.html http://www.adobe.com/devnet/air/articles/packaging-air-apps-blackberry.html