2010-05-06 34 views
1

我用下面的代碼加載在純ActionScript項目的SWF文件(的Flex Builder 3)問題加載SWF後調整裝載機

_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.width和_loader.height在我Loader_Complete處理
  • 我Loader_Init處理
  • 設置_loader.content.width設置_loader.width和_loader.height和loader.content.height在我Loader_Complete處理
  • 設置_loader.content.width和loader.content.height在我Loader_Init處理

我在網上看到過有些人說這些工作適合他們的例子,但是每當我用這些方法設置寬度或高度時,加載的swf根本就不顯示。

任何想法可能會造成這種情況?

調整已加載Loader對象的swf的正確方法是什麼?

回答

1

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

我可以在下面的事件處理程序添加到我的子SWF:

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

並將其連接到應用程序的addedToStage事件。

但是,我仍然想知道如何從父SWF中設置子SWF的維度 - 可能有些時候我無法控制加載的SWF,所以我無法添加此代碼到它。