クラスを作成するときは、クラス内からステージを参照する必要があります。グローバルにアクセスできないため、クラスに渡す必要があります。これは、クラス内でステージイベントリスナーを使用する例です。
package {
import flash.events.KeyboardEvent;
public class Eventhndl{
private var obj:Object; //create local variable to refarance stage
public function Eventhndl(objStage:Object):void{
obj = objStage; //make local refarance for stage inside the class
obj.addEventListener(KeyboardEvent.KEY_DOWN,runit); //add the event listener
}
private function runit(Event:KeyboardEvent):void{
trace("keyDownHandler: " + Event.keyCode);
trace("ctrlKey: " + Event.ctrlKey);
trace("keyLocation: " + Event.keyLocation);
trace("shiftKey: " + Event.shiftKey);
trace("altKey: " + Event.altKey);
}
}
}
ファイルをEventhndl.asとして保存すると、このクラスのインスタンスを追加して、そのイベントをリッスンするために必要なオブジェクトを渡すことができます。これを行う方法は次のとおりです。
import Eventhndl;
var EH:Eventhndl = new Eventhndl(stage);