スムーズなキーの場合、Timer または onEnterFrame を使用して、スムーズなコントロールを得るのに十分な頻度でキーをポーリングすることをお勧めします。それは仕事を成し遂げますが、一定の費用がかかります。残りのロジックがすべてうまくいっている場合、これは問題なく収まるはずです。
var key:int = NaN;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress,false,0,true);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyRelease,false,0,true);
this.addEventListener(Event.ENTER_FRAME,update,false,0,true);
function onKeyPress(event:KeyboardEvent):void {
key = event.keyCode;
event.stopPropagation();
}
function onKeyRelease(event:KeyboardEvent):void {
key = NaN;
event.stopPropagation();
}
function update(event:Event):void{
if(key) trace(key);
}
イベントの伝播を止めることでイベントが泡立たないようにし、イベントに関しては最上位レベルである必要があるステージに設定します。また、キーが押されているキーのみを使用しています。それ以外の場合は、enterFrame ハンドラーで無視します。
HTH、ジョージ