在Flash中管理大型游戏项目的最佳做法是什么。
一段时间后,我发现将Flex与Flash Professional结合使用,可以为您提供快速开发,在大型团队中工作以及使用SVN的最佳工具。
我的项目分为Flex库项目和主要Flex项目。
最近我发现在复杂的flex组件上有两个问题,其中一部分是在flash pro中创建的。 我想在我的Flex组件中放入一个影片剪辑,并在该影片剪辑中我想放置另一个flex组件。
这就是我所做的:从flash pro我创建一个影片剪辑,使用命令将其转换为flex容器并将flex内容持有者方块放在它们的影片剪辑中,将其导出到swc然后从flex我将其直接添加到mxml甚至在flex设计模式下进行预览。 这是我不能做的:
请告诉我您对我的策略有何看法,以及您是否了解这些问题
答案 0 :(得分:-1)
我根本不会使用.swcs来处理图形资产。正如您所提到的,您在访问Flash生成的内容时会遇到问题。另外更大的问题是,.fla文件也包含逻辑,因此修改你需要Flash专业人员的东西(设计师往往会在他们的fla-s中创建一个巨大的混乱,这是一个痛苦的工作)。因此,要进行简单的修改,您可能需要在Flash构建器和Flash专业人员之间前后移动。此外,将代码放入图形资产文件中也是一种非常糟糕的做法。
我建议使用以下工作流程来保持代码和图形完全分离:
设计人员应在.fxg文件中导出每个静态(非动画)矢量资产。 (例如对于一个按钮,你有3个.fxg文件:button_up.fxg,button_over.fxg,button_down.fxg)Fxg支持在Flex中真的很酷,你可以直接编辑文件,它们真的很容易嵌入。例如,您可以在MXML中执行此操作:<gfx:button_up x="100"/>
,或将其嵌入SpriteAsset
。请注意,这些在运行时很难加载,但这很少是一个问题,因为.fxg文件往往很小。对于非常复杂的矢量资产,将.swf文件(第4点)放在性能上更好(或将其转换为位图,复杂的矢量可以杀死FP easilly)。但请注意,.FXG有一些限制,例如您无法导出静态文本,或嵌套9切片缩放。
将每个静态位图资源导出为.png。您可以在Flex中轻松嵌入/加载这些内容。对视频做同样的事情(我没有对视频做过很多工作,但.flv对我来说还可以。)
对于动画矢量资源(在Flash中制作的动画片段),请执行以下操作:将动画片段放在Flash的舞台根目录中,选中“export to Actionscript”&amp;符号属性中的“在第一帧中导出”。例如,这样的包可以包含角色的所有动画。然后只需发布这个项目,然后你可以加载它,或嵌入它像:[Embed(source='char1.swf', symbol='run')] private var runcl:Class;
这些文件不会有任何动作脚本代码,但有时我发现,我需要为它们添加一些简单的逻辑(大多数停止( )和play()命令)为此,请使用addFrameScript()
命令。
将.mp3s用于声音,并将字体直接嵌入到Flex中。如果图形资源有一些静态文本,请将其分解为向量。