作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用Loader类导入多个外部文件,其中一个是swf文件。这样做时(我之前做过成功,所以没想到有任何问题),我遇到了各种各样的错误,最后Flash崩溃了。
我在构造函数中放了一条跟踪,它并没有跟踪一次,而是一直跟踪,这表明构造函数陷入了循环。我猜想太多相同SWF文件的加载是导致Flash最终崩溃的原因。
这是我的代码(swf im加载现在是一个简单的测试文件,其中包含图像而没有代码):
private var slides:Loader = new Loader();
public function DocumentClass()
{
trace(1)
slides.load(new URLRequest("Resources/Slides.swf"));
slides.contentLoaderInfo.addEventListener(Event.COMPLETE, SlidesComplete);
}
public function SlidesComplete(evt:Event):void
{
slides.contentLoaderInfo.removeEventListener(Event.COMPLETE, SlidesComplete);
addChild(slides);
}
最佳答案
尝试将stop()
操作放在加载的SWF文件的顶部(在ActionScript中或在时间轴上)。同时,swf可能正在加载中并且正在运行播放并循环运行(因此,您的代码会一遍又一遍地运行)。
在SWF完全加载之前,我会进行进度监视,然后跳到您的显示框架:
// stop the playhead from moving ahead
stop(); // you can also use gotoAndStop("loading"); if you want
function loaderProgressHandler(event:Event):void {
// switch the framehead to main which will show your content
if(event.bytesLoaded >= event.bytesTotal) {
event.target.removeEventListener(Event.PROGRESS, this.loaderProgressHandler);
this.gotoAndStop("main");
}
}
this.loaderInfo.addEventListener(Event.PROGRESS, this.loaderProgressHandler);
关于actionscript-3 - 在AS3中加载SWF,但Flash会不断重复构造函数,该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154318/
我是一名优秀的程序员,十分优秀!