使用flash flex策略和问题

时间:2012-04-04 05:19:18

标签: flash flex components movieclip

在Flash中管理大型游戏项目的最佳做法是什么。

一段时间后,我发现将Flex与Flash Professional结合使用,可以为您提供快速开发,在大型团队中工作以及使用SVN的最佳工具。

我的项目分为Flex库项目和主要Flex项目。

  • 设计师 Photoshop Illustrator 中工作,然后直接导出到flex或Flash Professional。
  • Flash专业人员中工作的
  • 动画师,每个人都有自己的flx文件夹(它是解压缩的fla格式,从CS5支持,他的数据不是二进制文件,因此它更好用使用SVN),并且可以创建图形逻辑类,最后他将解决方案导出到使用swc文件的flex。
  • 开发人员 Flex 工作,正在管理主项目,他们从每个人那里获取资源并将所有资源放在一起,flex是处理游戏逻辑的唯一地方,与服务器通信。

最近我发现在复杂的flex组件上有两个问题,其中一部分是在flash pro中创建的。 我想在我的Flex组件中放入一个影片剪辑,并在该影片剪辑中我想放置另一个flex组件。

这就是我所做的:从flash pro我创建一个影片剪辑,使用命令将其转换为flex容器并将flex内容持有者方块放在它们的影片剪辑中,将其导出到swc然后从flex我将其直接添加到mxml甚至在flex设计模式下进行预览。 这是我不能做的:

  • 我无法使用时间轴动画移动弹性内容,只能使用代码
  • 我无法在位于其他影片剪辑中的影片剪辑中插入弹性内容,即使它们都是弹性容器。

请告诉我您对我的策略有何看法,以及您是否了解这些问题

1 个答案:

答案 0 :(得分:-1)

我根本不会使用.swcs来处理图形资产。正如您所提到的,您在访问Flash生成的内容时会遇到问题。另外更大的问题是,.fla文件也包含逻辑,因此修改你需要Flash专业人员的东西(设计师往往会在他们的fla-s中创建一个巨大的混乱,这是一个痛苦的工作)。因此,要进行简单的修改,您可能需要在Flash构建器和Flash专业人员之间前后移动。此外,将代码放入图形资产文件中也是一种非常糟糕的做法。

我建议使用以下工作流程来保持代码和图形完全分离:

  1. 设计人员应在.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切片缩放。

  2. 将每个静态位图资源导出为.png。您可以在Flex中轻松嵌入/加载这些内容。对视频做同样的事情(我没有对视频做过很多工作,但.flv对我来说还可以。)

  3. 对于动画矢量资源(在Flash中制作的动画片段),请执行以下操作:将动画片段放在Flash的舞台根目录中,选中“export to Actionscript”&amp;符号属性中的“在第一帧中导出”。例如,这样的包可以包含角色的所有动画。然后只需发布这个项目,然后你可以加载它,或嵌入它像:[Embed(source='char1.swf', symbol='run')] private var runcl:Class;这些文件不会有任何动作脚本代码,但有时我发现,我需要为它们添加一些简单的逻辑(大多数停止( )和play()命令)为此,请使用addFrameScript()命令。

  4. 将.mp3s用于声音,并将字体直接嵌入到Flex中。如果图形资源有一些静态文本,请将其分解为向量。