【发布时间】:2010-10-01 11:58:30
【问题描述】:
我将三个外部 swf 文件加载到我的 Flash 电影中,代码如下:
import flash.display.*
var screens:Array = new Array(
'screens/left.swf',
'screens/center.swf',
'screens/right.swf'
);
var loaders:Array = new Array();
function complete_listener(event:Event):void {
event.target.content.width = 341;
event.target.content.scaleY = event.target.content.scaleX;
}
for (var i=0; i<screens.length; i++) {
loaders[i] = new Loader();
loaders[i].contentLoaderInfo.addEventListener(Event.COMPLETE, complete_listener);
var url:URLRequest = new URLRequest(screens[i]);
loaders[i].load(url);
loaders[i].x = 341 * i;
loaders[i].y = 0;
addChild(loaders[i]);
}
我的三个虚拟 swf 一切正常,但是当我尝试加载使用某种动画(例如补间动画)的 swf 文件时,swf 不再显示...解决这个问题?谢谢!
【问题讨论】:
-
这些动画是直接嵌入到加载的 SWF 中,还是依次从其他一些 SWF 中加载?
-
它们直接嵌入在加载的 SWF 中。其实你可以看到第一帧(我猜)每隔几秒就会闪一下,真的很奇怪……
-
可能是那些动画可能由于某种原因导致加载的 SWF 崩溃,例如从构造函数访问
stage属性(或在它们实际添加到阶段之前) - 您是否有权访问代码那些动画?确保您在调试版本的 Flash 播放器上进行测试 - 这样您就会知道引发了什么样的错误/异常 -
我认为问题在于,加载外部 swf 时没有显示舞台的背景颜色。我真的必须在外部 swf 的背景中绘制一个相同颜色的矩形还是有其他方法?
标签: flash actionscript-3 loader