[AS3]如何让我的基于tile的Flash游戏预加载器工作? (Flash IDE)

时间:2012-01-12 11:16:39

标签: actionscript-3 preloader

所以我在网上读到了这个。

由于我正在使用外部代码和资源(外部AS文件,png,库链接到外部AS文件),我知道我需要确保我的Assets和Actionscript代码导出超出FRAME 1,所以我需要将Actionscript设置“在框架中导出类:”(发布设置,动作脚本设置)更改为第2帧。我已经完成了。这是为了确保第一帧中没有加载库中的任何内容。

接下来,我添加了一个资产持有者动画片段,其中包含我的所有图书馆资源。所以我将所有的资源库资源拖到了这个新的Movieclip中。然后我将这个movieclip(称为AssetHolder)放入我主时间轴的第二帧。这也是为了确保我的资产实际上被导出,我将这个AssetHolder放在第二帧上,以确保它在第一帧中没有加载。

这一切都是因为我需要在第一帧中加载预加载器并且在显示任何其他内容之前是可见的。

现在所有这一切都应该可以工作,但是当我在Flash IDE中测试运行我的.swf时,我打开Bandwidth Profiler(看看在哪个帧中加载的字节数最多),它显示第二帧DOES有很多字节(我们导出到该帧的所有资产和代码),但它仍然显示FIRST帧有要加载的MOST字节。我认为这是因为我在一个与我的主文档类相关的类中嵌入了png。

所以我的Main Document类调用另一个具有Embeded图像的类。我假设所有这些都发生在第一帧中,因此这些嵌入式图像会立即加载到第一帧中。

但这会产生问题,因为我希望预加载器位于第一帧中,如果嵌入图像加载到该帧上,则在加载这些Big Embeded图像之前不会显示预加载器。这基本上只显示白屏而不是预加载器。

我嵌入图像的原因是因为我使用copyPixel将tileSheet中的切片复制到bitmapData中。基本上我是把我的水平瓦片放到舞台上。

那么有没有办法让Embeded图像加载到第一帧?或者是否有另一种方法可以设置我的文件以便创建这个内部Preloader?

我试图像新手程序员一样清楚,希望它是可理解的。

0 个答案:

没有答案