正如标题所说,文件正确加载但加载屏幕最后才会闪烁。
第1帧中唯一导出的是装载程序图像,这非常小。
是否可能存在正在加载的事物队列,并且加载程序映像位于该队列的底部?因为这是添加到项目中的最后一件事
答案 0 :(得分:3)
如果您的预加载器仅在文件加载后显示,这意味着您仍然有其他对象链接到第1帧。闪存对此非常挑剔,并且很容易将事物拖到第1帧上而不管您是设置。编译时,Flash会构建一个依赖关系图,以确定每个框架上需要哪些项目。如果它认为资产需要早于导出框架设置,它将忽略该设置并将资产推送到该框架。特别是,您的文档类直接引用的任何类都将被自动拉到第1帧。
在文件,发布设置中检查“生成大小报告”,Flash可以帮助您查看有多少数据导出到第1帧。以下是一些提示,以确保所有内容都链接到正确的框架:
var f : MyClass;
进入您的文档类或根时间轴,然后您引用MyClass
,Flash将自动将其拉到第1帧。为避免在预加载器中直接引用主应用程序类,您希望使用以下内容间接实例化它:
var gameClass : Class = flash.utils.getDefinitionByName("Game") as Class;
var game : Sprite = new gameClass();
在这种情况下,Preloader将成为文档类,并在加载SWF时间接创建Game类。这避免了对Game及其内容的任何直接引用。