私はそうのようなイベントハンドラを追加し、私のクラスでオーバーライドされた機能、持っている:インプレースイベント処理関数からスーパーメソッドを呼び出すことができないのはなぜですか?
override public function hide():void {
...
tween.addEventListener(TweenEvent.MOTION_FINISH, function(evt:Event):void {
...
super.hide();
}, false, 0, true);
}
これは動作しませんが、Flashが私に語った:「1006:スーパーの式は、クラスのインスタンスメソッド内で使用することができます。 " (適切なインスタンスメソッドに移動すると機能します)。
なぜ私はインプレースハンドラ関数からsuper.hide();
への呼び出しを使用できないのか理解したいと思いますか?
問題のないインスタンス変数とメソッドをそこから参照できるので、そのハンドラが適切なコンテキストにアクセスできると考えました。 私はこれを理解するのを手伝ってください。
私は一般的なアイデアよりも多くを持つために閉鎖を読むべきだと思います。ありがとう:) – kret