我正在处理一个非常复杂的 Flash 项目,该项目是我们为客户使用而部署的全套服务的一部分。对于我们的大多数软件源(Java、PHP、Javascript、HTML 和一些其他语言的支持脚本),我们使用 subversion 进行版本控制和管理,因此我们对 Flash 项目也这样做,尽管我们从版本中获得的好处很少控制它(除了能够恢复到以前的版本),因为 FLA 文件仅存储为二进制文件,我们无法从中获得有意义的差异。
我们将尽可能多的代码放入 AS 文件中,我们可以使用 subversion 正确管理这些文件,但由于我们的架构和部署策略的要求(我们无法根据客户的需求进行更改),我们仍然维护大量代码我们需要管理的 FLA 文件的集合。
我研究过 Adobe Version Cue,虽然我不太明白它在版本控制方面的作用,但将 Flash 项目移至 Version Cue 上托管是否会比我目前从 Subversion 获得更好的控制?
另外 - 如果人们可以分享他们关于 Flash 项目版本控制的经验和建议,这将非常有帮助。
我自己也曾为此苦苦挣扎,除了以下我无法告诉你任何事情:
- FLA 中从来没有代码
- 在适当的情况下,将内容按语义划分为单独的 FLA
- 为 FLA 制作变更文档,并为每一项变更输入注释。
第一点是很明显的。第二个是要认识到,FLA 是保存所有视觉资源的二进制 blob,并且不能很好地进行版本控制,这一事实是无法回避的,但您可以认识到以下事实:某些内容会频繁更改,而其他内容往往会创建一次然后独自离开。通过将您的资产划分到不同的 FLA 中,您可以将大部分更改保留到少数不稳定的 FLA 中,稳定内容和不稳定内容之间的差异将反映在您的版本化文件中。
请注意,即使您无法在运行时加载资源,编译时共享仍然可以让您将资源划分为任意数量的 FLA。 (编译时共享经常被忽视 - 如果您不熟悉它,请打开 MovieClip 的属性并查看底部的“源”部分。)如何划分内容将取决于您的项目。我能建议的最好办法是在语义上进行划分 - 也许每个字符一个 FLA,或者每个部分一个 FLA,或者每个界面元素一个 FLA,等等。与所有开发一样,目标是将相关资产分组并消除重复。
第三点是,由于差异是不可能的,因此没有办法保留更改文档。我的首选方法是将 FLA 签入版本控制并在签入注释中记下所有更改,但更改也可以在单独的文档中。 (请注意,保持每个 FLA 中的库有序至关重要,否则阅读更改说明的人将很难找到更改。)但是,由于这对于某些内容来说可能会很麻烦,因此将某些 FLA 指定为“也很有用”不稳定”,并且不必费心更改列表。但如果这样的文件对其他文件有很多依赖,你以后会后悔的。
不幸的是,这是我迄今为止所发现的全部。 Adobe 曾讨论过在未来版本中更改为基于文本的 FLA 格式,但在此之前,还没有简单的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)