加载swf后调整加载程序的问题

时间:2010-05-06 10:48:33

标签: flash actionscript-3 loader

我正在使用以下代码在纯动作脚本项目中加载swf(Flex Builder 3)

_loader = new Loader();

_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, Loader_Complete);
_loader.contentLoaderInfo.addEventListener(Event.INIT, Loader_Init);

var request:URLRequest = new URLRequest("Skins/TestSkin.swf");
_loader.load(request);

this.addChild(_loader);

这样可以正常显示舞台上的swf(出于某种原因500x375 - 不知道为什么,TestSkin.swf是一个没有定义宽度和高度的灵活应用程序)

然而,当我尝试缩放swf以使其填满舞台时,我遇到了问题。

我试过了:

  • 在我的Loader_Complete处理程序中设置_loader.width和_loader.height
  • 在我的Loader_Init处理程序
  • 中设置_loader.width和_loader.height
  • 在我的Loader_Complete处理程序中设置_loader.content.width和loader.content.height
  • 在我的Loader_Init处理程序中设置_loader.content.width和loader.content.height

我在网上看过人们说这些适用于他们的例子,但每当我用这些方式设置宽度或高度时,加载的swf根本就不显示。

知道可能导致这种情况的原因吗?

调整已加载Loader对象的swf的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

我找到了解决当前问题的方法。

我可以将以下事件处理程序添加到我的子swf中:

public function AddedToStage():void
{
    this.width = this.stage.width;
    this.height = this.stage.height;
}

并将其附加到应用程序的addedToStage事件。

但是,我仍然想知道如何从父swf设置sub-swf的维度 - 有时我可能无法控制加载的swf,所以我无法将此代码添加到它