0

我有一个旧版本的 Flash(准确地说是 Flash AS3 CS3)。

我正在上ActionScript 编码的大学课程。但是,我学校使用的版本,以及我们教科书的源文件,都保存在AS3 CS5或更高版本中。我试着不让它影响到我,但我发现在家里完成我的作业很困难。

当我只有 Flash CS3 时,有没有办法让我查看保存在 CS5 或更高版本中的 FLA 文件中的 Actionscript?

如果有,那将很好地解决我的问题...

>> 编辑

由于我可能不清楚,我想问是否有办法在我的计算机(只有 CS3)上查看保存在 CS5 或更高版本中的 .FLA 文件的 ActionScript。这里的假设是我将无法再访问装有 CS5 的计算机。

请注意,我并不特别关心打开整个文件——我想要的只是嵌入在时间轴中的 ActionScript。

4

1 回答 1

2

一眼看去,flash CS5 似乎无法保存为 CS3 格式;它可以去的最低的是CS4。

但是,fla 中的大部分代码可能可以删除并保存在单独的 .as 文件中,然后在您可以在家中重新创建的新 CS3 fla 中运行。这完全取决于 fla 的内容是什么,我正在对这些 fla 的内容做出一些假设。但是,如果它只是时间轴上的大部分代码,可能带有一些简单的电影剪辑符号,那么它可能是一种可能性。


编辑以响应问题中的编辑

据我所知,只有flash可以打开fla文件,但我最近发现了这个,但从来没有用过。但是它可能对您有用:我已阅读/注意到您可以将 flash CS5 fla 重命名为 zip 文件,它将打开/提取。只需将扩展名从 .fla 更改为 .zip 然后解压即可。

里面的内容你可以挖掘。您可能最感兴趣的文件是“DOMDocument.xml”。看着它,它似乎描述了火焰的构成……包括框架上的任何动作脚本。

例如,我做了一个空的fla,在第1、2和4帧中放入一些代码,如下所示:

在第一帧:

trace("This is frame 1, line 1");
trace("This is frame 1, line 2");

在第 2 帧上:

trace("This is frame 2, line 1");
trace("This is frame 2, line 2");

在第 4 帧(跳过第 3 帧):

trace("This is frame 4, line 1");
trace("This is frame 4, line 2");

只是一些跟踪语句。按照我刚才所说的并查看 xml,在时间轴->图层->帧->动作脚本->脚本标签中,我可以看到我的脚本:

<timelines>
          <DOMTimeline name="Scene 1" currentFrame="3">
               <layers>
                    <DOMLayer name="Layer 1" color="#4FFF4F" current="true" isSelected="true">
                         <frames>
                              <DOMFrame index="0" keyMode="9728">
                                   <Actionscript>
                                        <script><![CDATA[trace("This is frame 1, line 1");
trace("This is frame 1, line 2");]]></script>
                                   </Actionscript>
                                   <elements/>
                              </DOMFrame>
                              <DOMFrame index="1" keyMode="9728">
                                   <Actionscript>
                                        <script><![CDATA[trace("This is frame 2, line 1");
trace("This is frame 2, line 2");]]></script>
                                   </Actionscript>
                                   <elements/>
                              </DOMFrame>
                              <DOMFrame index="2" keyMode="9728">
                                   <elements/>
                              </DOMFrame>
                              <DOMFrame index="3" keyMode="9728">
                                   <Actionscript>
                                        <script><![CDATA[trace("This is frame 4, line 1");
trace("This is frame 4, line 2");
trace("This is frame 5, line 3");]]></script>
                                   </Actionscript>
                                   <elements/>
                              </DOMFrame>
                         </frames>
                    </DOMLayer>
               </layers>
          </DOMTimeline>
     </timelines>

帧索引似乎从 0 开始,脚本本身被包裹在 CDATA 标记之间。

我还做了一个测试,在我的图书馆里有一个简单的电影剪辑项目。这会生成一个 xml 文件,该文件在提取时描述库目录中的该项目。但是,我在提取时确实收到了“此 zip 文件已损坏”的错误……但它似乎仍然可以正常提取。

按照我所说的,您可能需要做一些工作来拼凑一个更复杂的 fla 文件,但希望这是一个开始?

于 2013-03-16T07:46:07.347 回答