1

これが私のコードです。簡単だ。メインステージで定義された変数を取得し、すべての外部swfにその変数へのアクセスを許可する必要があります。

動作しないコードは次のとおりです。

メインSWF:

var ThePath:String;
ThePath = "happy/go/lucky/";

///以下のコードは、上記のメインの前のタイムラインからのALOADEDSWFにあります。(ここでこれを行うための完全なコードを示しています)

var myMC:MovieClip;
myMC= parent as MovieClip;

trace("Your VAR PATH IS " + myMC.ThePath); /// DOES NOT WORK.

幸せなスタッカーに感謝します!

更新4-31-12

短期:メインステージでグローバル変数を作成し、外部からロードされた他のすべてのswfがその変数にアクセスできるようにする必要があります。

4

3 に答える 3

3
var myMC:MovieClip = MovieClip(this.parent.parent);
myMC.ThePath

変数定義としてキャメルケースを使用する必要があります。

編集:

別の解決策は、ローダーにロードするときに(値を設定し、参照を設定することによって)子swfの親への参照を渡すことです。これにより、子は親を参照できます。

すなわち:

親:

function startLoad(){var mLoader:Loader = new Loader(); var mRequest:URLRequest = new URLRequest(“ Child.swf”); mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE、onCompleteHandler); mLoader.load(mRequest); }

function onCompleteHandler(loadEvent:Event){var childMC:MovieClip = loadEvent.currentTarget.content; addChild(childMC:MovieClip); childMC.refToMainSWF = this; }

参考: http: //genaboo.wordpress.com/2008/03/27/as2_vs_as3_root_parent_communicating_between_swfs/

于 2012-04-30T21:34:37.467 に答える
0

試す:

trace("Your VAR PATH IS " + root.ThePath);
于 2012-04-30T21:34:58.310 に答える