Apache flex Flex项目与Actionscript项目的缺点?

Apache flex Flex项目与Actionscript项目的缺点?,apache-flex,actionscript,Apache Flex,Actionscript,我最近开始用FlexBuilder制作游戏。该游戏目前是一个Flex项目 与只使用Actionscript相比,使用Flex有什么缺点吗 一个朋友的朋友告诉我Flex比Actionscript项目慢。我无法在互联网上验证这一点;那说法有什么道理吗 谢谢 如果你正在开发一个游戏,你应该使用一个ActionScript项目。Flex仅用于数据驱动的应用程序和用户界面 flex编译器生成大量中间代码,将mxml文件转换为actionscript(如果使用-keep编译器选项编译,则可以查看这些文件)

我最近开始用FlexBuilder制作游戏。该游戏目前是一个Flex项目

与只使用Actionscript相比,使用Flex有什么缺点吗

一个朋友的朋友告诉我Flex比Actionscript项目慢。我无法在互联网上验证这一点;那说法有什么道理吗

谢谢

  • 如果你正在开发一个游戏,你应该使用一个ActionScript项目。Flex仅用于数据驱动的应用程序和用户界面
  • flex编译器生成大量中间代码,将mxml文件转换为actionscript(如果使用
    -keep
    编译器选项编译,则可以查看这些文件)。这段代码是集成到SWF中的flex框架,它显著增加了SWF的大小
  • 创建一个带有文本字段(“hello world”)的actionscript项目和一个带有相同文本标签的flex项目。构建它们,转到它们的bin调试文件夹并比较文件大小。虽然ActionScriptOne只有几千字节,但FlexSWF至少有100KB
  • 就速度而言,由于flex框架位于actionscript之上,因此显然会降低性能
  • flex的优点在于易于创建UI组件和开发频繁与服务器通信的数据驱动应用程序
  • 除非你真的需要,否则不要使用它

Flex提供了构建富Internet应用程序的框架。如果您的游戏需要复杂的GUI(如RPG),它可能会很有用。否则,如果你只想做一个游戏的话,它会增加一些层次,这会使事情变得复杂。

下载大小=互联网上的速度。你的游戏越小,加载速度就越快。在像ActionScript这样的解释语言中,大小也等于速度,执行的代码越少,运行的速度就越快。手工编写ActionScript例程可能会使它比Flex的通才方法更快

也就是说,也许您愿意支付这些开销,以避免在纯ActionScript中编写大量实用程序类。例如,在Flex中,您的高分屏幕将更容易实现,这可能值得您付出额外的开销。如果你的高分屏幕慢一点也没关系,因为它不像真实的游戏那样是实时的


也要考虑你的时间成本。通过使用Flex,您可以比在ActionScript中手工编写应用程序的这些部分更快地完成它们。除非您的时间是空闲的,否则您应该考虑如何权衡Flex开销的带宽成本。这可能是因为支付带宽比花时间制作一个更高效的程序更便宜。

一个Flex应用程序在完全加载后并不一定会比纯AS3应用程序运行得慢——最终所有内容都被编译成字节码,Flex应用程序就像一个使用大量其他类的AS3应用程序

将Flex框架视为一组快捷方式,可以让您更快地完成任务,但真正的成本是您的项目被更多的代码填满——即使您实际上编写的代码更少,而且您永远不必看到更多的代码

我不同意Flex应该只用于复杂的数据驱动应用程序的说法,尽管它对于这样的项目肯定非常有用。你可以用它做任何事情,只要你明白最终产品(你导出的.swf)会比其他产品大很多

如果拥有一个大的.swf对你来说没什么大不了的(而且可能不是,这取决于你用它做什么),那么我会说试试Flex,因为ArrayCollection、RemoteObject和数据绑定将为你节省数小时的沮丧和数百行代码


然而,如果你想确保你的最终应用程序尽可能小而高效,那么在纯AS3中使用它,只需根据需要选择更高级的库。

如上第一点所述,唯一的饮料是内存消耗。但是如果你用纯脚本的形式写,你需要在最后期限战斗中。As flex提供了大量可定制的组件。你可以使用类文件代替MX组件来节省内存。除非正在使用,否则不要创建任何组件。如果您了解flex,模块和RSL有助于实现持久性

,它可以帮助您更快地开发—在flex中实现

下载大小对于拥有大量资源的游戏来说并不重要。大多数流行的flash游戏的大小都在5MB以上。(例如在kongregate上)

游戏的关键部分,你可以在纯动作脚本。在Flex中,将数百个组件放置到画布不会减慢速度,但Flex渲染技术会阻止对象的平滑动画

结论: Flex用于快速开发。您可以在菜单中使用它的简单可蒙皮组件。即使没有FlexUI组件,绑定也很重要,让生活更轻松