2012-04-29 4 views
0

私はフラッシュcs5でゲームを構築しています。私は開始画面を作っている、そして今私はゲームをロードしようとするが、私はゲームの機能でエラー1180を取得する。ここにそれがどのように動作するのですか?AS3のエラー1180

これは私がthis.stageRef行でエラーを受け取った機能です。このクラスはベースメニューを拡張する私のmainMenuです。

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

、ここでは、あなたのstageRefが適切EventDispatcherオブジェクトではありません、私のエンジン機能

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 
      } 
+0

あなたが提供したコードは本当に役に立たないです。私は 'stageRef'があなたがplayGameを呼び出すとnullだと思いますが、関連するコードなしではもっと役に立たないでしょう。 – frankhermes

+0

あなたはその部分を意味しますか? '\t \tパブリック関数メインメニュー(stageRef:段階= NULL) \t \t { \t \t \t this.stageRef = stageRef。 \t \t \t btnPlay.addEventListener(MouseEvent.MOUSE_DOWN、playGame、false、0、true); \t \t \t btnCredits.addEventListener(MouseEvent.MOUSE_DOWN、creditits、false、0、true); \t \t} ' コードブロックにする方法を知りません。 –

答えて

0

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

0

make stageRefクラスはIEventDispatcherを実装しています

関連する問題