4

実装した IEventDispatcher インターフェイスがコンパイルされずError: Call to a possibly undefined method addEventListenerError: Call to a possibly undefined method removeEventListener.

ここで信じられないほど愚かなことをしている可能性は十分にありますが、それが何であるかはわかりません...

これらのエラーをスローしているクラスのメソッドは次のとおりです (つまり、setTransformListner の本体の「view」と「removeTransformListener」で動作するメソッドを意味します)。

public function setTransformListener(view:AbstractView):void
{
    view.addEventListener(CustomEvent.TRANSFORM, transform);
}

public function removeTransformListener(view:AbstractView):void
{
    view.removeEventListener(CustomEvent.TRANSFORM, transform);
}

private function transform(e:CustomEvent):void
{

}

これがイベントディスパッチャークラスです...

package view 
{
    import flash.events.Event;
    import flash.events.EventDispatcher;
    import flash.events.IEventDispatcher;

    public class AbstractView implements IEventDispatcher
    {

        private var _dispatcher:EventDispatcher;

        public function AbstractView():void
        {
            _dispatcher = new EventDispatcher(this);
        }

        /* INTERFACE flash.events.IEventDispatcher */

        public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
        {
            _dispatcher.addEventListener(type, listener, useCapture, priority, useWeakReference);
        }

        public function dispatchEvent(evt:Event):Boolean
        {
            return _dispatcher.dispatchEvent(evt);
        }

        public function hasEventListener(type:String):Boolean
        {
            return _dispatcher.hasEventListener(type);
        }

        public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
        {
            _dispatcher.removeEventListener(type, listener, useCapture);
        }

        public function willTrigger(type:String):Boolean 
        {
            return _dispatcher.willTrigger(type);
        }

    }

}
4

1 に答える 1

5

あなたのパッケージ名はviewで、 を呼び出そview.addEventListenerうとしています。パッケージ名を変更してみてください。ローカル変数viewを最初に使用する必要がありますが。

于 2012-11-22T21:32:31.833 に答える