0

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

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

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

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

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

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

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

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

4

1 回答 1

-1

我根本不会将 .swcs 用于图形资产。正如您所提到的,您将无法访问从 Flash 生成的内容。另外更大的问题是,.fla 文件也包含逻辑,因此修改某些内容也需要 Flash 专业版(设计师往往会在他们的 fla-s 中创建一个巨大的混乱,这很痛苦)。因此,要进行简单的修改,您可能需要在 Flash builder 和 Flash Professional 之间来回切换。另外,将代码放在图形资产文件中是一种非常糟糕的做法。

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

  1. 设计人员应将每个静态(非动画)矢量资源导出到 .fxg 文件中。(例如,对于一个按钮,您将有 3 个 .fxg 文件:button_up.fxg、button_over.fxg、button_down.fxg) Flex 中的 Fxg 支持非常棒,您可以直接编辑文件,而且它们真的很容易嵌入。例如,您可以在 MXML: 中执行此操作<gfx:button_up x="100"/>,或将其嵌入为SpriteAsset. 请注意,这些在运行时很难加载,但这很少会成为问题,因为 .fxg 文件往往非常小。对于真正复杂的矢量资产,将其放入 .swf 文件(第 4 点)会更好地提高性能(或将其转换为位图,复杂的矢量可以轻松杀死 FP)。但请注意,.FXG 有一些限制,例如您不能导出静态文本,或嵌套 9 切片缩放。

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

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

  4. 将 .mp3 用于声音,并将您的字体直接嵌入到 Flex。如果图形资产有一些静态文本,请将其拆分为矢量。

于 2012-04-10T23:40:49.867 回答