【问题标题】:flash cs5: compiling fla with huge internal library takes YEARS !flash cs5:使用庞大的内部库编译 fla 需要数年时间!
【发布时间】:2011-07-03 09:42:48
【问题描述】:

通过使用带有巨大内部图像库(超过 300 多个小 png 文件)的 flash cs5,我需要每个编译动作超过 90 秒! as 代码非常好,我的电脑也是(四核,4gigs 内存)。我发现,通过将文件导出到“stage 1”(我的屏幕截图中的 bild 1)flash 开始徘徊,但我不知道为什么......

.

如何加快这个过程?

_______________________________________________________________________________________________________________________________

_______________________________________________________________________________________________________________________________

我的解决方案不起作用:

所以我玩过并最终为每个位图创建 *.as 文件,但速度结果是相同的(可能比以前快 10% - 15%)...

package
{
    import flash.display.*;

    dynamic public class MY_BITMAP_NAME extends BitmapData
    {

        public function MY_BITMAP_NAME(width:int = 500, height:int = 135)
        {
            super(width, height);
            return;
        }

    }
}

我的工作速度不够快,无法调试我的项目文件 :-(

【问题讨论】:

  • 为什么有这么多位图?
  • 由于 ios 依赖项,我无法在此项目中使用 flex

标签: actionscript-3 actionscript flash flash-cs5


【解决方案1】:

解决方案是将您的资产移动到一个预编译的 SWC 库中,您只会在它们发生更改时重新编译。

构建库:

  • 创建一个新的 FLA 并在您的位图中移动,
  • 每张图片都需要有一个链接类名,并在第一帧导出;您不必创建 AS 类,Flash 会生成它们,
  • 在发布设置的“Flash”选项卡中,选中“Export SWC”,
  • 此 SWC 库将发布在与 SWF 相同的位置;在 CS4-5 中,您无法阻止 SWF 创建。

使用库

  • 在主 FLA 发布设置的“Flash”选项卡中,打开 Advanced Actionscript 3 设置对话框,
  • 在“库路径”选项卡中,您可以添加资产库 SWC;确保“链接类型”为“合并到代码中”,
  • SWC 内容将在您的主 FLA 中可用,就像它们在库中一样。

值得注意的是:

  • 您必须通过代码实例化这些资产(即新的资产名称):它们不会出现在您的主 FLA 的库面板中,并且您不能将它们放在时间轴上,
  • 只有您在代码中明确引用的资产才会在运行时可用;如果您使用 getDefinitionByName() 您仍必须在代码中的某处导入资产。例如,您可以声明一个包含所有资产类的数组(例如:var assets:Array = [AssetClass1, AssetClass2,...])。

【讨论】:

  • 谢谢你们 - 我已经导出了 swc 并将其重新导入到我的主文件中,不幸的是我无法创建任何引用?不知道怎么了,我的 assets.fla 似乎 100% 没问题 - 这是我的主文件的屏幕截图:www9.picfront.org/token/RLBe/2011/02/24/1926692.png
  • 好的,通过导出我的主文件 swf,swf 大小为 128kb - 我的资产 swc 有 950kb,这正常吗?我以前没有使用过 swc,但我认为它应该作为主文件 swf 的一部分导入?
  • 最近发现了这种工作方式。使用 SWC,您还可以完全在 FlashDevelop 中工作,我认为这会使事情变得更容易!更好的智能感知、调试等。
  • 注意项目符号 #2:每个图像都需要一个链接名称。这将是您可以在代码中引用它们的类名。 IE 一个 'newwhateverImage()' 如果 'whateverImage' 是 swc 文件中的位图的链接名称。
【解决方案2】:

如果这 300 多张图片不经常更改,您可以创建第二个 .fla,只将图片放入库中。然后将该 .fla 发布为 swc 文件(您可以在发布设置中进行设置)。

并且您在原始 .fla 中使用该 swc(现在不再有图像),您有代码(使用 swc 意味着,在发布设置 - > actionscript 设置中,您将 swc 设置为库引用)。

这样,Flash 只需编译您的代码,并简单地从 swc 中获取已编译的图像。然后它应该编译得更快。

【讨论】:

    【解决方案3】:
    ctrl+enter,这将编译库和 AS 代码中的所有内容。 大多数情况下使用只是改变一些小东西,然后编译它。 这将浪费很多时间,没有必要浪费。 您可以导出一些不会总是更改为 SWC 文件的内容,并发布设置, 将 SWC 文件添加到您的 Fla. 或将您的 Fla 项目移动到 Flash 构建,编译比在 Flash ide 中使用更少的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 2011-10-19
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      相关资源
      最近更新 更多