是否有必要通过时间轴操作导入actionscript文件?

时间:2014-01-30 23:58:54

标签: actionscript-3 flash actionscript

似乎在时间轴的操作中编码时会自动包含每个actionscript文件(不是自定义文件),所以我想知道是否有必要通过代码导入文件。有什么好处吗?我可以阻止flash导入每个文件以减小我的Flash应用程序(SWF)的大小吗?。

例如,我无需导入MovieClip以在时间轴操作中使用MovieClip类。

2 个答案:

答案 0 :(得分:0)

您确实可以加载外部资源,即SWF,MP3,WAV,JPG或任何具有解码器的字节序列,然后通过代码解析,然后在您的Flash应用中使用。优点是灵活性,例如,如果用户关闭所有声音,您可以自由地为他加载大型音乐,从而为他节省一些流量 - 这对于那里的某些人来说可能是至关重要的。还有一些缺点,因为SWF中的文件(资产)可以从应用程序的开头获得,并且由于连接可能随时丢失,您可能无法及时收到外部文件以供应用程序使用,或者不收到他们。

不导入以减少SWF大小?我会说减少这些资产的大小或质量。除非您有可动态下载的内容(可能还有一些额外级别的元数据),否则您应该避免使用Loader s实际的混乱,并计划及时生成这些内容以吸引更长时间的注意力。

简而言之,所有静态内容都更好地嵌入,所有动态内容都应该在之后加载。

答案 1 :(得分:0)

编译FLA文件不会在生成的SWF中嵌入每个AS文件。我的测试目录结构。

工作目录

  • file.fla
  • ClassA.as
  • ClassB.as

我的时间轴上的代码。

var a:ClassA = new ClassA();

生成的SWF仅包含ClassA。

对于带代码的多个SWF文件,每个SWF都嵌入了该类。告诉编译器是你的工作。

如果您使用的是FLEXSDK,则可以查看这些参数。 -link-report file.xml:在编译时生成包含所有AS文件包含的文件。 -load-externs file.xml:排除文件中的所有类包含。

如果您使用的是Adobe Flash exclude class article