0

私はフラッシュゲームを構築しています、私はこれをやっています:

MainStage、11 フレーム Mainstage Loads > Lobby.swf (1 フレーム) Lobby Loads > Arrows.swf (1 フレーム)

Arrows.swf からメインステージを制御し、現在のフレーム、右矢印 mainStage.current frame + 1、左矢印 mainStage.current frame -1 を取得したいだけです

親/子メソッドを試しました

this.parent.parent
parent.parent
this.root
parent.root

すべての組み合わせで、私もトレースしており、最終的に mainStage に到達すると、ステージを表示オブジェクトに変換できないと表示されますが、これは理解できます。

しかし、どうすれば「メインステージ」の針の現在のフレームを取得し、gotoAndPlay や​​その他の方法でそれを制御できますか?

4

1 に答える 1

0

私はそれを解決しました。

私がしたことは、メイン ステージを制御しませんでした。左矢印と右矢印をロードすると、ロビー レイヤーのメイン ステージ レイヤーが縮小されました。カスタム イベントのイベント リスナーをアタッチしました。

矢印のムービーでは、イベントをディスパッチする関数を書きました。使用したコード行は次のとおりです。

制御したい映画の「メイン」ステージで:

//ball loader prep and load
var ballLoader:Loader = new Loader();
var ballRequest:URLRequest = new URLRequest("lobbyBalls.swf");
ballLoader.load(ballRequest);
ballLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, ballsLoaded);

function ballsLoaded(event:Event):void{
    trace("ball Loader complete");
    ballLoader.x = 50;
    ballLoader.y = 200;
    stage.addChild(ballLoader);
    ballLoader.content.addEventListener("Previous", ctrlPrevFrame);
    ballLoader.content.addEventListener("Next", ctrlNextFrame);
}

制御したいムービーで

import flash.events.Event;

leftArrow.addEventListener(MouseEvent.CLICK, prevEvent);
rightArrow.addEventListener(MouseEvent.CLICK, nextEvent);

function prevEvent(event:Event):void{
    trace("prev");
    dispatchEvent(new Event("Previous", true));
}

function nextEvent(event:Event):void{
    trace("next");
    dispatchEvent(new Event("Next", true));
}

とにかく、ありがとう....

于 2013-07-14T09:15:34.610 に答える