我想知道我的swf是在本地加載還是從另一個swf加載。爲此我已經在我的fla中聲明瞭一個變量'parentType'。 var parentType:String = String(parent); 在文檔類中有一個函數確定swf是在本地加載還是從另一個swf加載。文檔類中函數的名稱是'externalOrInternal'。可變的parentType作爲參數傳遞給函數externalOrInternal。 externalOrInternal(parentType); 文檔類的名稱是Main。 在Main的構造函數中,我有函數pollResize()(這個函數的用途是偵聽調整大小的事件,那部分代碼沒有顯示在下面給出的代碼片段中)。從fla發送變量到文檔類,然後訪問它
我的fla如下。
var parentType:String = String(parent);
externalOrInternal(parentType);
我的文檔分類如下。
package {
import flash.display.MovieClip;
public class Main extends MovieClip {
private var swfParentType:String;
public function Main1() {
pollResize();
}
public function externalOrInternal(parentType:String) {
swfParentType=parentType;
trace("Inside externalOrInternal");
trace(swfParentType);
}
private function pollResize():void {
trace("Inside pollResize");
trace(swfParentType);
}
}
}
當我運行這是被描繪出
Inside pollResize
null
Inside externalOrInternal
[object Stage]
我看到swfParentType是具有價值insde功能externalOrInternal。我的疑問是爲什麼null在函數pollResize中被追蹤。爲什麼它不是[object Stage]在externalOrInternal內部。由於這一點,我無法繼續進行舞臺調整大小事件。需要做什麼才能在函數pollResize中追蹤適當的值。
忘記發表評論您並不需要fla將父級發送到Document類,您也可以從那裏訪問它。 – Neverbirth 2011-05-31 07:50:28
非常感謝。修復了這個問題。 – 2011-05-31 11:01:32
@Marty非常感謝編輯這個問題的兄弟。 – 2011-05-31 11:02:09