【问题标题】:Flash / ActionScript3 compiled sources size / differenceFlash/ActionScript3 编译源大小/差异
【发布时间】:2011-12-16 23:47:56
【问题描述】:

我正在尝试确定以下内容。我有我的特定领域的闪存框架和一组基本类。我创建了空的 FLA 并分配了主类 - D。当我在编译后检查大小报告时,我看到这样的图片:

2121    Scene 1:Frame 1:A
 280    Scene 1:Frame 1:B
 416    Scene 1:Frame 1:C
1002    Scene 1:Frame 1:D
 422    Scene 1:Frame 1:E

然后我在时间轴上放置几个带有动画的图层 - 一切都来自设计师,并且没有与内部框架相关的代码。尺寸报告更改为:

2854    Scene 1:Frame 1:A
 376    Scene 1:Frame 1:B
 560    Scene 1:Frame 1:C
1348    Scene 1:Frame 1:D
 581    Scene 1:Frame 1:E

考虑到这只是一个报告的 sn-p,对于每 40 KB 的编译代码(不是调试、没有 swc、没有大小报告),我的大小增长高达 5-6 KB,这会产生巨大的差异你有尺寸限制。

在尝试之前,所有编译器首选项都保持不变。播放器版本和所有复选框也保持不变。

所以问题是,当我在编译相同的代码时,无论是否粘贴动画,我的大小都会有如此大的差异。 Flash 是否会根据时间轴自动将任何内容包含到已编译的类中?

【问题讨论】:

  • 听起来您在问为什么您的 SWF/FLA 文件在添加动画时会变大。你问的是这个吗??
  • @Prpl_Ppl_Etr: 不完全是,因为 SWF 有充分的理由随着动画的加入而变大。我只比较我拥有的特定类的 AS compiled 代码大小。
  • 你是把所有的东西都编译成一个 SWF 文件还是几个?并且:如何获得“无尺寸报告”的尺寸报告?
  • 哦,我刚想到一个问题:动画序列中有库符号吗?如果选中该选项,则库中的所有符号,即使它们仅扩展 MovieClip 或 Sprite 而没有自定义类,也会编译到第 1 帧中。
  • @weltraumpirat:一切都被编译成一个单一的 SWF。 “没有大小报告”令人困惑——我的意思是没有逐类报告,只有简短的一份显示整体 AS 大小。在这两种情况下都有库类编译到第 1 帧中 - 有和没有分层结构 + 动画。没有图层+动画:“188 Scene 1:Frame 1:backgroundLoaderMC”。与它们一起:“253 Scene 1:Frame 1:backgroundLoaderMC”

标签: flash actionscript-3


【解决方案1】:

即使帧中没有任何时间线脚本,舞台上的对象仍然需要以某种方式进行初始化、添加和动画处理。这是通过 swf 文件(称为标签)中的指令完成的。 swf 文件基本上只是一个标题和一系列标签。使用 Flash 创作工具创建的动画的描述也会转换为标签。我猜这些指令加起来就是定义时间线对象的帧的代码大小。

【讨论】:

  • 我知道需要一些代码来初始化舞台上的所有对象,我对此没有任何问题。虽然我不明白为什么在将对象添加到舞台时,Flash 显示的大小与我自己的类不同?这些类AFAIK没有发生任何事情。
  • @eduard.dudar 那么类与对象完全无关?在那种情况下,我没有答案。也许反编译文件可以对此有所了解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多