![]() |
1
15
我自己也经历过这一切,除了:
第一点很明显。第二个问题是要认识到,fla是一个二元blob,它保存了所有的视觉资产,并不能很好地处理版本控制,但您可以认识到这样一个事实,即某些内容经常更改,而其他内容则往往只创建一次,然后再单独创建。通过将您的资产划分为不同的fla,您可以将大部分更改保留为少量不稳定的fla,并且稳定和不稳定内容之间的差异将反映在您的版本文件中。 注意,即使您不能在运行时加载资产,编译时共享仍然允许您将资产划分为任意数量的fla。(编译时共享经常被忽视-如果你不熟悉它,打开movieclip的属性,并查看底部的“源代码”部分。)如何划分东西将取决于你的项目。我能建议的最好的方法是在语义上进行划分——也许每个字符有一个fla,或者每个部分有一个fla,或者每个接口元素有一个fla,等等。与所有开发一样,目标是将相关资产分组并消除重复。 第三点是,由于差异是不可能的,所以没有办法保存变更文档。我的首选方法是将fla签入版本控制,并在签入说明中记录所有更改,但是这些更改也可以在单独的文档中。(请注意,保持每个fla中的库的有序性是至关重要的,否则阅读更改描述的人将很难找到更改。)但是,由于这可能会对某些内容造成痛苦,因此将某些fla指定为“不稳定”也很有用,而不必费心更改列表。但是如果这些文件对其他文件有很大的依赖性,你会后悔的。 不幸的是,这是我迄今为止所发现的全部。Adobe已经讨论过在未来的版本中改为基于文本的FLA格式,但在这之前,还没有一个简单的解决方案。 |
![]() |
2
11
Adobe对此的回答是在新的CS5闪存中。使用“另存为”并从“类型”下拉列表中选择.xfl。现在您可以处理您的项目,并通过SVN将其签入。我仍然会把你的代码作为文件分出来,但这样你的库资产也会被跟踪。它基本上保持了XML标记中的所有内容,有点像FlexMXML。我认为这是你最好的选择。 |
![]() |
3
2
听上去,由于外部的需求,你被fla文件卡住了,但是,以防万一… 如果你正在构建一个代码密集的flash项目,我将使用纯actionscript或flex方法,只使用.fla文件来实现它们的优点(基于时间线的动画) flex builder/flash builder是构建flash项目的良好环境,其中所有代码都是源代码管理友好的文件格式。 我们正在将所有基于fla的媒体播放器转移到mxml(其中flex-ui组件很有用)和纯actionsicpt项目。源头控制的好处是巨大的。 如果这是不可能的,那么我担心你唯一能做的就是尽可能多地从flas中移出东西-二进制格式根本不支持源代码管理。 忘记版本提示-Adobe不再开发它(它不包含在新的CS5包中) |
![]() |
4
1
根据我对Adobe版本提示的理解,它不会为您提供任何超出SVN提供的内容。(当然,我只听过版本提示的恐怖故事,实际上还没有使用过。) 在与SVN合作过大型闪存项目(大型团队和大型部署)之后,我能给您的最好建议是:
可能值得注意的是,这些主要是非技术性的解决方案。对于在版本控制系统中处理二进制文件的问题,我还没有找到一个“一次性的解决方法”,特别是那些真正是源代码的二进制文件。这才是真正的关键:以专有二进制格式存储源代码的想法是糟糕的巫毒。 |
![]() |
5
1
我一直在想办法解决这个问题,这里有一个可能的解决方案。.fla是实际的文件系统。如果将.fla扩展名替换为.zip,则可以解压缩并公开未压缩的文件,这与Mac上的“显示包内容”并无不同。所有的库内容都位于一个库目录中,每个movieclip由一个XML文档表示,每个层获取一个节点,层中的帧被表示为子节点。还有一个.xfl文件,它是.fla的未压缩版本,只要.fla的所有未压缩内容与.xfl位于同一目录中,就可以在flash中启动它。 从技术上讲,您应该能够使用.xfl文件,在Subversion中跟踪和维护所有库内容。 |