外部SWF刚刚加载(但未使用)后,播放器更改大小

时间:2012-11-22 16:07:19

标签: actionscript-3 flash

我有一个我正在研发的Flash播放器(在AS3中开发)。

舞台(和播放器)尺寸为640x979。

在播放器的底部,我有一个控制栏,带有播放暂停按钮等。

这是播放器的图像(image)。

image

到目前为止一切顺利。

现在 - 在我加载的大多数外部SWF上 - 它们加载正常。 但在某些方面 - 如果我尝试使用Loader类加载它们 - 玩家会发疯! 控制栏消失,视频以时髦的方式拉伸。您可以在附加图像(image)中看到这一点。

image

这里真正奇怪的是 - 即使我没有像孩子一样添加Loader对象,也会发生这种情况!

我这样做:

public function PlayerCtor()
{
    swfUrlLoader = new Loader();
    swfUrlLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSwfReceived);   
    swfUrlLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onSwfIOError);
    swfUrlLoader.load(new URLRequest(swfUrl));
}
private function onSwfReceived(e:Event):void
{
   swfUrlLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSwfReceived);
   swfUrlLoader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onSwfIOError);
}

就是这样!除了加载外部SWF之外,我什么都不做!

我能想到的唯一事情是:

  1. 也许'坏'的SWF文件中有一些代码隐藏导致这种行为发生?
  2. '坏'横幅应该是906x340。我注意到 他们有动画从那些边界飞出来......(我 通过使用'Flash Decomplier'反编译SWF来发现这一点 试验)。
  3. 以下是SWF横幅,它们没有问题,并且没有任何问题:

    以下是让我的玩家发疯的'坏'横幅:

    任何人都可以帮我弄清楚如何防止这种情况搞砸我的播放器吗?

    感谢所有可以提供帮助的人!

1 个答案:

答案 0 :(得分:0)

听起来有些次要负载正在改变stageAlign和/或stageScaleMode。看看是否将stage.stageAlign和stage.stageScaleMode更改为加载完成后您期望的值来修复问题