一千萬個為什麽

搜索

加載swf後調整加載程序的問題


我正在使用以下代碼在純actionscript項目中加載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是一個沒有定義寬度和高度的flex應用程序)

但是,當我嘗試縮放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的正確方法是什麽?

最佳答案

我找到了解決當前問題的方法。

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

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

並將其附加到應用程序的addedToStage事件。

但是,我仍然想知道如何從父swf設置子swf的尺寸 - 有時候我無法控制加載的swf,所以我無法將此代碼添加到它。

轉載註明原文: 加載swf後調整加載程序的問題

猜你喜歡