私のswfがローカルに読み込まれたのか、別のswfから読み込まれたのかを調べたいと思います。この目的のために私はflaに変数 'parentType'を宣言しました。 var parentType:String =ストリング(親); ドキュメントクラスに、swfがローカルに読み込まれたのか、別のswfから読み込まれたのかを判断する関数があります。ドキュメントクラス内の関数の名前は 'externalOrInternal'です。 varaible parentTypeは、関数としてexternalOrInternal関数に渡されます。 externalOrInternal(parentType); ドキュメントクラスの名前はMainです。 メインのコンストラクタでは、関数pollResize()を使用しています(この関数の使用は、サイズ変更イベントをリスンすることです。コードのその部分は、以下のスニペットには表示されません)。flaからドキュメントクラスに変数を送信してからアクセスする
My flaは次のとおりです。
var parentType:String = String(parent);
externalOrInternal(parentType);
私のドキュメントclasは次のとおりです。
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が機能externalOrInternal insde値を持っていることがわかります。私の疑問は、nullが関数pollResizeの内部で追跡される理由です。内部のexternalOrInternalとして[オブジェクトステージ]が表示されないのはなぜですか?このため、ステージのサイズ変更イベントをさらに進めることはできません。pollResize関数で適切な値がトレースされるようにする必要があります。
親コメントをDocumentクラスに送信する必要はありません。そこからもアクセスできます。 – Neverbirth
ありがとうございました。問題を修正しました。 –
@Marty質問を編集するために多くの兄弟に感謝します。 –