2011-01-14 9 views
0

では動作しません。
私のメインクラス(hahaと呼ぶ方法はわかりません)は、Main.asと呼ばれています。 (私の先生提供)dispatchEvent(new MicroJeuEvent(MicroJeuEvent.JEU_TERMINE, 8, ""));、それはMain.asから完璧に動作し、それが完璧に動作します: 別のクラスは、私が呼ぶときactionObjets.asは、dispatchEventは、私はここに、この問題を持っている二次クラス

と呼ばれています。

しかし、私がactionObjetsから呼び出すと、動作しません。エラーもありません。

この行を静的関数に入れてみましたが、どちらもうまくいきませんでした。

メインクラスのイベントを別のイベントからディスパッチできないのはなぜですか?私はプログラマではなく、as3の基本原理のいくつかを得ていません。異なったやり方がありますか?そうです、私は良くないですし、私は正確に何をするかを知る必要があります!ハハ。どうも!

/*--Finir Jeu--*/ 
     public function finirJeuFonction(methode, points):void{ 
      var faceDeGagner:Array = new Array("Vous êtes mort","Vous avez sauté par la fenêtre","Vous avez éteind le feux","Vous avez tiré votre soeur déguisée en zombie","Votre soeur aime se déguiser en zombie","Vous avez exterminé l'homme louche"); 

      switch(monterJeu._Difficulte){ 
       case 0: 
        _creationObjet.fenetreMobilier.parent.removeChild(_creationObjet.fenetreMobilier); 
        _creationObjet.armoireMobilier.parent.removeChild(_creationObjet.armoireMobilier); 
        break; 
       case 1: 
        _creationObjet.zombieMobilier.parent.removeChild(_creationObjet.zombieMobilier); 
        _creationObjet.litMobilier.parent.removeChild(_creationObjet.litMobilier); 
        _creationObjet.tablePCMobilier.parent.removeChild(_creationObjet.tablePCMobilier); 
        _creationObjet.coffreMobilier.parent.removeChild(_creationObjet.coffreMobilier); 
        break; 
       case 2: 
        _creationObjet.armoireCoteMobilier.parent.removeChild(_creationObjet.armoireCoteMobilier); 
        _creationObjet.litMobilier.parent.removeChild(_creationObjet.litMobilier); 
        _creationObjet.hommeMobilier.parent.removeChild(_creationObjet.hommeMobilier); 
        _creationObjet.C4Mobilier.parent.removeChild(_creationObjet.C4Mobilier); 
        _creationObjet.boutonC4Mobilier.parent.removeChild(_creationObjet.boutonC4Mobilier); 
        break; 
      } 
      _creationObjet._creationBackground.getBackgroundStage.parent.removeChild(_creationObjet._creationBackground.getBackgroundStage); 
      //Chronometre.horloge.stop(); 

      _creationObjet.messageFinMC.visible = true; 
      _creationObjet.messageFinMC.nbrePointsTxt.text = points; 
      _creationObjet.messageFinMC.messageFinTxt.text = faceDeGagner[methode]; 

      dispatchEvent(new MicroJeuEvent(MicroJeuEvent.JEU_TERMINE, 8, "")); 
     } 
+0

actionObjetsのコードを表示できますか? – Taurayi

+0

actionObjetは多くのことをしません(そしてそれは大きくなります...)が、私はそれを呼び出す場所にコードを追加しました。編集する。 – Elggetto

+0

動作しないと言うと、actionObjetのaddEventListener()メソッドを使用すると、actionObjetから送出されるイベントは聞こえません。 – Taurayi

答えて

0

次のように試してみて、セットアップあなたのクラス:

メインクラスで...

package 
{ 
    import com.ActionObjets; 
    import flash.display.Sprite; 
    import flash.events.Event; 

    public class Main extends Sprite 
    { 
     public function Main() 
     { 
      init(); 
     } 

     private function init():void 
     { 
      var actionObjets:ActionObjets = new ActionObjets(); 
      actionObjets.addEventListener(Event.COMPLETE, completeHandler); 
      actionObjets.finirJeuFonction(); 

     }// end function 

     private function completeHandler(e:Event):void 
     { 
      trace("complete"); 

     }// end function 

    }// end class 

}// end package 

とActionObjetsクラスで:

べき
package com 
{ 
    import flash.events.EventDispatcher; 
    import flash.events.Event; 

    public class ActionObjets extends EventDispatcher 
    { 
     public function ActionObjets() {} // end function 

     public function finirJeuFonction():void 
     { 
      dispatchEvent(new Event(Event.COMPLETE, true)); 

     }// end function 

    }// end class 

}// end package 

作業。

関連する問題