-1

メソッドを持つEventManagerクラスがあります:

public function addEvent(obj:IEventDispatcher, event:String, listener:Function, 
       useCapture:Boolean = false, priority:int = 0, 
       useWeakReference:Boolean = false):void 
{           
   obj.addEventListener(event, listener, useCapture, priority, useWeakReference);
   [here event is pushed in my stack]    
}

私はこれをしたい:

public class CustomClass extends Sprite
{    
    public override function addEventListener(type:String, listener:Function, 
           useCapture:Boolean = false, priority:int = 0, 
           useWeakReference:Boolean = false):void
    {
        eventManager.addEvent(this, type, listener, useCapture, priority, useWeakReference);            
    }    
}

しかし、結果として、呼び出しスタックは次のようになります。

   customClass.addEventListener ->

   eventManager.addEvent ->

   customClass.addEventListener ->

   eventManager.addEvent ->

   customClass.addEventListener ->

   ...

など...eventManager.addEventでobj.addEventListenerを呼び出すため

たぶん、この問題の解決策を教えていただけますか?

4

1 に答える 1

0

イベントマネージャでイベントマネージャなどを呼び出すオブジェクトでaddEventlistener関数を呼び出すため、再帰ループを作成しました...おそらく、イベントマネージャ内のオブジェクトとパラメータへの参照のみを保存し、実際には呼び出しませんでしたそこからaddEventlistener関数。

于 2012-12-13T22:23:34.133 に答える