我知道以前有人问过这个问题,但是在浏览了我能找到的每个线程一个小时后,我决定直接问。
我有一个在 Flash IDE 中制作的 SWF,完全构建在一个文档类中(这是我使用文档类的第一个项目,但直到现在还没有任何问题)。在这里面有很多关于变量等的阶段的引用。我有另一个预加载主 SWF 的 SWF(同样都是在文档类和我尝试制作的第一个外部预加载器中完成的)。我遇到的问题是 - 由于主 SWF 在添加之前引用了阶段 - 我收到 #1009 错误。
我已经尝试了两种纠正这个问题的方法,但令我惊讶的是,都没有奏效。第一个是在加载之前添加 SWF 的加载器,如下代码所示:
package
{
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.ProgressEvent;
import flash.display.MovieClip;
import flash.events.Event;
public class claude_loader extends MovieClip
{
public var main_movie:Loader = new Loader ;
public function claude_loader()
{
addChild(main_movie);
trace(main_movie.stage);
main_movie.load(new URLRequest("claudia_summers.swf"));
main_movie.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, load_progress);
}
public function load_progress(e:ProgressEvent):void
{
trace(e.bytesLoaded+ " out of: " + e.bytesTotal);
}
}
但这没有任何改变。我不太明白为什么,因为 main_movie 加载器有一个阶段(正如跟踪所证实的那样),所以根据我的推理,加载的 SWF 应该没有问题。
我还尝试将主 SWF 更改为在触发 ADDED_TO_STAGE 事件之前不运行,但该事件在添加之前被触发(即使我自己播放主 SWF?)。
有人可以帮我吗?我错过了一些非常明显的东西吗?
PS 我可以发布主要的 SWF 代码,但它的长度超过 1000 行,所以不确定哪个部分(如果有的话)会有所帮助。