1

有没有人尝试过将他们的移动 ActionScript/Flex 应用程序移植到 PC/Mac 上运行?问题是 Flex 有一些仅限移动设备的课程和其他不推荐用于移动设备的课程。

我还没有尝试过这样做,我想知道其他人是否愿意分享他们在这个问题上的经验。似乎有几种可能的方法可以做到这一点。

1) 它可能会在应用程序的桌面版本中包含仅限移动设备的库,以便使用尽可能多的通用代码。

2) 将每个视图组件重构为移动设备的容器部分、桌面的容器部分和包含所有控件的内部部分可能会起作用,这些控件可用于移动设备和桌面设备。

3) 从应用程序中写出 Flex 并拥有一个纯 ActionScript 应用程序可能会起作用。这需要我自己编写 ActionScript 中的 View、ViewNavigator 和 TabbedViewNavigator 的替代品,并将所有 spark.components 替换为 fl.controls。(出于性能原因,我已经从移动应用程序中消除了数据绑定和状态)。

4

1 回答 1

2

有没有人尝试过将他们的移动 ActionScript/Flex 应用程序移植到 PC/Mac 上运行?

是的,我用我的手机游戏做到了。同样在移动 Flextras 组件的演示中。

在应用程序的桌面版本中包含仅限移动设备的库可能会起作用,以便使用尽可能多的通用代码。

如果您想在非移动项目中使用移动组件;这就是方法。将仅限移动设备的 SWC 添加到您的库路径中。您可能还需要将移动主题添加到您的库路径中。但是,这可能很乏味,因为您将有两个主题,并且可能会引入共享组件的问题;例如需要指定完整主题的列表或滚动条。

将每个视图组件重构为移动设备的容器部分、桌面的容器部分和包含所有控件的内部部分(用于移动设备和桌面设备)可能会起作用。

对于我的手机游戏的主屏幕;我使视图内容扩展了一个组。然后我将它们包装在移动设备上的“视图”或浏览器组中。

我不清楚你的第三个建议会解决什么问题。

我还建议将尽可能多的代码移动到库项目中,以便它们可以在您的桌面、浏览器和移动项目之间共享。

在我的手机游戏中,我有一个用于游戏板的“无 Flex”库。然后我有一个用于视图内容的 Flex 库项目。这个库“包装”了游戏板。然后我在一个移动项目和一个将所有部分放在一起的 Web 项目中使用 Flex 库。

关卡数据的加载方式存在差异(在移动设备上使用文件类,在网页上使用 URLLoader)。我在视图上设置属性来控制各个方面。例如,基于浏览器的游戏版本隐藏了屏幕控件,因为我假设人们会使用箭头键。

于 2013-02-01T21:30:46.140 回答