2
何らかの理由でイベントリスナーを追加できません。私はエラーを検索しましたが、人々はそれがaddEventListenerを関数の外に持つためだと言います。しかし、私はコンストラクタ内にあります!おそらく定義されていないメソッドを呼び出すaddEventListener
package {
import flash.events.*;
public class keyClass {
var keyArray:Array = new Array ;
public function keyClass() {
for (var i = 0; i < 999; i++) {
keyArray[i] = false;
}
addEventListener(KeyboardEvent.KEY_DOWN,onKyDwn);
addEventListener(KeyboardEvent.KEY_UP,onKyUp);
}
public function onKyDwn(e:KeyboardEvent) {
keyArray[e.keyCode] = true;
}
public function onKyUp(e:KeyboardEvent) {
keyArray[e.keyCode] = false;
}
}
}
IEventDispatcherはうまく動作します。なぜそれはあなたの意見では実現不可能なのですか? – Bakapii
それから、私はしないトリックを知っているか、カスタムIEventDispatcherのイベントのターゲットをまだ使用する必要はありません。 AS3 Signalsの作成者である[Robert Penner](http://flashblog.robertpenner.com/2009/09/my-critique-of-as3-events-part-2.html)によると、外部からイベントのターゲットを設定します。これは、EventDispatcherクラス自体でのみ行うことができます。 –
もちろん、IEventDispatcher'を実装することもできます。[EventDispatcher'の呼び出しをプロキシする](http://active.tutsplus.com/tutorials/actionscript/as3-101-quick-tip-dispatching-events-without-extending -eventdispatcher /)。これは、 'EventDispatcher' *を拡張しないクラスを拡張する必要がある場合に役立ちます(Adobeが実際にイベントを本格的な言語機能にしたはずの別の理由...) –