我最近开始在FlexBuilder中制作游戏。该游戏目前是一个Flex项目。
使用Flex而不仅仅是Actionscript有什么缺点吗?
一位朋友的朋友告诉我,Flex比一个Actionscript项目慢。我一直无法在互联网上验证这一点;这个说法有什么道理吗?
谢谢!
答案 0 :(得分:17)
-keep
编译器选项进行编译,则可以查看这些文件)。此代码(包含在您的SWF中的flex框架)显着增加了大小。答案 1 :(得分:2)
如果您了解flex并且它可以帮助您更快地发展 - 请在flex中进行。
下载大小对于拥有大量资产的游戏无关紧要。最流行的Flash游戏大小为5 MB甚至更多。 (例如在kongregate上)
你可以用纯动作脚本制作游戏的关键部分。将数百个 UIComponents 放置到 Canvas 在Flex中可能不会减慢,但Flex rending技术会阻止对象的平滑动画。
结论: Flex是为了快速发展。您可以使用它的易于换肤的组件菜单。即使没有Flex UI组件,绑定也很重要,让生活更轻松。
答案 2 :(得分:1)
在互联网上下载尺寸=速度。你可以制作的游戏越小,加载的速度就越快。大小也等于ActionScript等解释语言的速度,执行的代码越少,运行的速度就越快。手动编写ActionScript例程可能会让您比Flex的通用方法更快。
也就是说,也许你愿意支付这笔费用,以避免在纯ActionScript中编写很多实用程序类。例如,在Flex中,您的高分屏幕将更容易实现,这对您来说可能是值得的开销。如果您的高分屏幕稍微慢一点也没关系,因为它不像实际游戏那样实时。
还要考虑你的时间成本。通过使用Flex,您可以比在ActionScript中手动编写应用程序更快地完成应用程序的这些部分。除非您的时间是免费的,否则您应该考虑如何与Flex开销的带宽成本进行交易。可能是因为支付带宽比制作更高效的程序更便宜。
答案 3 :(得分:1)
一旦Flex AS3应用程序完全加载,它就不一定比Pure AS3应用程序运行得慢 - 最终所有内容都被编译成字节码,而Flex App就像一个使用很多其他类的AS3应用程序。 / p>
将Flex Framework视为一组允许您更快地完成任务的快捷方式,但实际成本是您的项目充满了更多代码 - 即使您实际编写的代码较少,而且你永远不必看到额外的代码。
我不同意Flex应该只用于复杂数据驱动应用程序的断言,尽管它对这些项目肯定非常有用。您可以将它用于任何事情,只要您了解最终产品(您导出的.swf)将比原本要大得多。
如果拥有一个大的.swf对你来说并不是那么大(可能不是,取决于你正在做什么),那么我会说尝试给Flex一个,因为ArrayCollection,RemoteObject和Data-绑定将为您节省数小时的挫败感和数百行代码。
但是,如果您想确保您的最终应用程序尽可能小巧高效,请在纯AS3中进行操作,并根据需要选择加入更高级的库。
答案 4 :(得分:0)
Flex提供了构建富Internet应用程序的框架。如果您的游戏需要复杂的GUI(例如RPG),那么它可能会很有用。否则,如果您想要做的就是构建游戏,它会添加会使事情复杂化的层。
答案 5 :(得分:0)
如上所述,第一点是唯一的饮料是记忆消耗。但如果你用纯AS脚本写,你需要在截止日期的战斗中。由于flex提供了许多可定制的comps。你可以使用Class文件而不是保存Memory的MX Comps。除非正在使用,否则不要创建任何组件。模块和RSL有助于实现peretainity