サイトトップ

Director Flash 書籍 業務内容 プロフィール

Macromedia Flash非公式テクニカルノート

MovieClip.onKeyDown

ID: FN0305001 Product: Flash

Platform: All
Version: MX and above

シンタックス
myMovieClip.onKeyDown

引数
なし。

戻り値
なし。

説明
イベントハンドラ(訳者註: イベントハンドラメソッド); MovieClipにキー入力のフォーカスがあり、キーが押されると呼出されます。onKeyDownメソッド(訳者註: 原文は"event")は、引数なしに呼出されます。'Key.getAscii'や'Key.getCode'メソッドを用いることにより、どのキーが押されたのかを判別することができます。イベントハンドラメソッドには、イベントが発生したときに実行する'function'(関数)を定義する必要があります。

MovieClipには、入力のフォーカスを受取り可能にし、フォーカスを与えないと、'onKeyDown'メソッド(訳者註: 原文は"event")は動作しません。まず、MovieClipの'focusEnabled'プロパティを、'true'に設定する必要があります。つぎに、MovieClipにフォーカスを与えなければなりません。そのためには、'Selection.setFocus'メソッドを使用するか、tabキーでフォーカスをMovieClipに移します。

[訳者註] MovieClipにtabキーでフォーカスが移動するようにするためには、ボタン用のイベントハンドラを記述するか、'MovieClip.tabEnabled'プロパティが'true'に設定する必要があります。

'Selection.setFocus'メソッドを使うときは、MovieClipのパスをメソッドの引数として渡す必要があります。マウスを動かして一旦失われたフォーカスを、他のパーツから簡単に戻すことができます。

[訳者註2] マウスを動かすと、MovieClipへのフォーカスは失われます。フォーカスを再度設定するには、もう一度'Selection.setFocus'メソッドを使用するか、tabキーでフォーカスを移す必要があります。

[訳者註3] MovieClipへのフォーカスに拘らずキーイベントを受取るには、'Key.addListener'メソッドを使用します。ただし、MovieClipを'Key.addListener'メソッドでリスナーに登録し、さらにフォーカスも設定すると、'onKeyDown'イベントハンドラメソッドが二重に呼出されますので、ご注意ください。

Player
Flash Player 6以降。


以下のサンプルは、'onKeyDown'メソッドに'function'を定義し、'trace'アクションの結果を[出力]ウィンドウに表示します。

myMovieClip.onKeyDown = function() {
  trace("onKeyDown called");
};

入力のフォーカスは、つぎのように設定します。

myMovieClip.focusEnabled = true;
Selection.setFocus(myMovieClip);

関連項目
MovieClip.onKeyUp

出典
ActionScript Dictionary(ActionScript辞書英文改訂版)より邦訳。

_____

作成者: 野中文雄
作成日: 2003年5月15日


Copyright © 2001-2006 Fumio Nonaka.  All rights reserved.