您是否可以查看以比Flash程序更新的版本保存的FLA文件的ActionScript?

时间:2013-03-16 06:36:13

标签: flash actionscript flash-cs5 flash-cs3

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

我正在参加ActionScript编码的大学课程。但是,我学校使用的版本以及教科书的源文件都保存在AS3 CS5或更高版本中。我试着不让它告诉我,但我发现很难在家里完成我的任务。

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

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

>>修改

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

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

1 个答案:

答案 0 :(得分:2)

快速浏览一下,闪存CS5似乎无法以CS3格式保存;最低的是CS4。

但是,fla中的大部分代码都可能被移除并保存在单独的.as文件中,然后在新的CS3 fla中运行,您可以在家中重新创建。这一切都非常依赖于fla的内容,我正在假设这些闪存的内容是什么。但如果它只是时间轴上的代码,可能只有几个简单的动画片段符号,那么它可能是可能的。


编辑以回应问题中的编辑

据我所知,只有flash可以打开fla文件,但我最近才发现它,但从来没有使用它。但是它可能对你有用:我已经阅读/注意到你可以将flash CS5 fla重命名为zip文件,它将打开/解压缩。只需将扩展名从.fla更改为.zip,然后将其解压缩。

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

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

第1帧:

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,在时间轴 - > layers-> frames-> Actionscript->脚本标签中我可以看到我的脚本:

<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标记内。

我还做了一个测试fla,我的库中有一个简单的movieclip项目。这会生成一个xml文件,该文件在提取时描述库目录中的该项。然而,我在提取时得到了“这个zip文件已损坏”错误...但它似乎仍然可以提取。

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