我需要创建一个没有外部文件的单个SWF,所以我试图在我的Flash项目中添加一个内部预加载器,该项目具有[嵌入]资源。我知道[embed]会导致预加载器出现问题,因为它将资产置于第1帧。我已经尝试了这些帖子中建议的解决方案,您可以将文档类设置为预加载器类:
Preloader for SWF with embed bytearray
How to create Preloader in AS3
我可以让它工作,但只有当我注释掉涉及该阶段的任何代码行时,否则我会得到“错误#1009:无法访问空对象引用的属性或方法”。这些行是必不可少的,所以有人知道如何在舞台上修复这些错误吗?
答案 0 :(得分:0)
你还没有发布你的代码或fla,所以我能做的就是分享对我有用的东西。
首先,我不会使用Embed。相反,使用swc。我发现Embed在实际获取整个资产方面可能不可靠(至少在使用Flash Builder + Flash Pro发布时,这是我的工作流程)。
将资产放入swc后,请尝试以下步骤:
play()
。所以它真的很简单。如果你需要它更复杂,给你一个预加载器图形一个实例名称,并为它设置一个getter / setter对,然后使用setter来触发访问该阶段的逻辑。你几乎可以保证在那时有一个有效的阶段。goToAndPlay()
或goToAndStop()
之前,您的主要时间轴很重要。
一些可能对您有所帮助的参考资料: