Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AdobeAIR for Cross Platform-桌面和;移动跨平台动画?_Flash_Animation_Air_Adobe_Qml - Fatal编程技术网

Flash AdobeAIR for Cross Platform-桌面和;移动跨平台动画?

Flash AdobeAIR for Cross Platform-桌面和;移动跨平台动画?,flash,animation,air,adobe,qml,Flash,Animation,Air,Adobe,Qml,我必须开发一套庞大的交互式动画,作为应用程序部署,它应该同时在桌面和移动平台上运行 我已经在Qt/QML中创建了演示子集。虽然我能够达到预期的结果,但发展的时间是重要的。在AdobeFlash中,同样可以在更短的时间内轻松实现 但由于Adobe Flash已从所有主要移动平台正式停产,所以,我正在寻找替代方案 因此,我有一组疑问: 我可以使用AdobeAIR作为替代方案吗 如果是,利弊如何 我还有什么别的选择? 动画本质上是交互式的,并且在35%的场景中使用3D动画 全面开发。值得注意的是,

我必须开发一套庞大的交互式动画,作为应用程序部署,它应该同时在桌面和移动平台上运行

我已经在Qt/QML中创建了演示子集。虽然我能够达到预期的结果,但发展的时间是重要的。在AdobeFlash中,同样可以在更短的时间内轻松实现

但由于Adobe Flash已从所有主要移动平台正式停产,所以,我正在寻找替代方案

因此,我有一组疑问:

  • 我可以使用AdobeAIR作为替代方案吗
  • 如果是,利弊如何
  • 我还有什么别的选择?
动画本质上是交互式的,并且在35%的场景中使用3D动画
全面开发。

值得注意的是,CyanAngel提供的链接已经过时了。我将尝试编写一个更为最新的版本(自2010年以来,AIR运行时发生了巨大的变化):

  • AIR是Adobe集成运行时。它基本上允许您使用Flash和Flex SDK编写ActionScript 3,这些SDK可以作为应用程序而不是Flash播放器在浏览器中打开的文件在各种平台上运行
  • 需要强调的是,空气不是闪光。它使用相同的基本SDK(Flash SDK),但AIR运行时与Flash运行时完全分离。您为AIR编写的内容可以修改为在Flash Player中运行,Flash内容可以修改为在AIR运行时中运行。但这并不像Cynangel提供的答案那样是一对一的翻译。过去是这样,但随着时间的推移,它们之间的距离越来越远(主要是AIR运行时已经获得了越来越多的本地功能,这些功能是应用程序所需要的,但不需要,也不适用于主权财富基金)
  • 您的应用程序将编译为IPA(iOS)、APK(Android)、DMG(Mac)、EXE(Windows)或.air(Mac+Windows)。对于iOS,编译器将AS3交叉编译为本机Objective-C代码。这一过程相当缓慢,尽管在AIR4.0(beta版)中显然已经取得了巨大的进步。对于其余部分,AS3实际上是通过AIR运行时运行的,可以将其视为Flash播放器(相当于)。对于Android,运行时通常是捆绑的(“捕获运行时”),并且总是与DMG和EXE捆绑在一起。对于.air类型和非强制Android项目,需要一个单独的AdobeAIR应用程序来运行该应用程序
  • 如果您运行的是FlexSDK,那么1对1的转换就更少了。对于FlexSDK中的移动项目,您需要提供多个资产,以覆盖各种屏幕分辨率范围。这在桌面上不起作用,在浏览器中也不起作用。Flex SDK中用于移动项目的主要结构类(
    ViewNavigator
    View
    )仅在移动设备上可用。所以,任何使用这些组件构建的项目都不可能在桌面或浏览器上运行
  • 有很多优点和缺点。这并不是一个列出它们的地方,但总的来说,它的优点是它是一个代码库,可以在4个不同的平台上运行,5如果您包括第三方BlackBerry 10 AIR SDK。缺点从让更复杂的东西跨平台正常工作有多困难,到几乎完全缺少本机控件(无法访问警报、通知、祝酒词和音量)。但是,您可以通过AIR本机扩展(ANE)访问这些控件
  • 对于任何依赖重动画的内容,建议您使用GPU渲染并使用
    Stage3D
    (及其各种相关组件)来处理渲染。对于使用FlexSDK的基本应用程序,使用直接渲染模式通常是可以的。但是,对于游戏或基于矢量的动画,您可能希望使用Stage3D,并考虑使用基于GPU的GUI框架,如Starling(您会发现Starling是非常推荐的)

希望这能有所帮助。我还推荐我对前面一个问题的回答,这个问题涉及到其他一些与空中开发相关的项目。

你是对的,Adobe Flash已经从所有主要的移动平台上正式停产,但最近我遇到了一个工具,它允许你将swf转换和播放到一些跨平台框架,如Cocos2d-x,Starling和Unity3d。它被称为GAF转换器。它支持遮罩、形状渐变、模糊和辉光。我没有你那么多的动画,但我认为这与你有多少动画无关。我现在正在开发我的iPad游戏,并使用GAF转换器。到目前为止,它的性能还不错。

我建议您阅读这篇文章