0

私はフラッシュ cs5 でゲームを構築しています。スタート画面を作成しています。ゲームをロードしようとしましたが、ゲームのプレイ機能でエラー 1180 が発生しました。これがどのように機能するかです

これは、行 this.stageRef でエラーが発生した関数です。このクラスは、basemenu を拡張する私の mainMenu です。

private function playGame(e:MouseEvent) : void
    {
        unload();
        this.stageRef.dispatchEvent(new Event("gameSTART"));
    }

ここに私のエンジン関数があります

public function Engine() 
    {
        preloader = new ThePreloader(474, this.loaderInfo);
        stage.addChild(preloader);
        preloader.addEventListener("loadComplete", loadAssets);
        preloader.addEventListener("preloaderFinished", showMenu);
        stage.addEventListener("gameSTART", fGameStart);
    }

    private function fGameStart(e:Event):void 
            {

                     .......... here is all my game code
            }
4

2 に答える 2

0

あなたのstageRefは適切なEventDispatcherオブジェクトではないようです。別のカスタム Stage クラスがあるか、Stage オブジェクトでステージ プロパティを取得するときに、このプロパティの所有者がまだステージにいません。そこで、ソース オブジェクトの Event.ADDED_TO_STAGE イベントの後にステージ プロパティを取得してみてください。または、ステージを取得して MainMenu に渡すコードを表示します。

于 2012-04-29T10:54:51.217 に答える
0

stageRef クラスに IEventDispatcher を実装させる

于 2012-04-29T10:57:47.803 に答える