onKeyDown (MovieClip.onKeyDown ハンドラ)

onKeyDown = function() {}

ムービークリップにフォーカスがあるときにキーを押すと、呼び出されます。onKeyDown イベントハンドラにはパラメータは渡されません。Key.getAscii() メソッドと Key.getCode() メソッドを使用して、どのキーが押されたかを調べることができます。このイベントハンドラが呼び出されたときに実行される関数を定義する必要があります。関数はタイムラインに定義できます。また、MovieClip クラスを拡張するクラスファイル内、またはライブラリ内のシンボルにリンクされるクラスファイル内に定義できます。

onKeyDown イベントハンドラは、ムービークリップの入力フォーカスが有効で、設定されている場合にのみ動作します。まず、ムービークリップの MovieClip.focusEnabled プロパティを true に設定します。次に、ムービークリップにフォーカスを与えます。そのためには、Selection.setFocus() を使用するか、Tab キーでムービークリップに移動するように設定します。

Selection.setFocus() を使用する場合は、ムービークリップのパスを Selection.setFocus() に渡す必要があります。フォーカスは、ユーザーがマウスを動かすことによって他のエレメントに簡単に移動します。

対応バージョン : ActionScript 1.0、Flash Player 6

次の例では、onKeyDown() イベントハンドラの関数を定義します。この関数は、[出力] パネルに trace() アクションを送ります。ムービークリップ my_mc を作成し、次の ActionScript を FLA ファイルまたは AS ファイルに追加します。

my_mc.onKeyDown = function () {
    trace("key was pressed");
}

onKeyDown イベントハンドラを実行するには、ムービークリップにフォーカスがあることが必要です。次の ActionScript を追加して入力フォーカスを設定します。

my_mc.tabEnabled = true;
my_mc.focusEnabled = true;
Selection.setFocus(my_mc);

ユーザーがキーを押すと、[出力] パネルに key was pressed と表示されます。しかし、マウスを動かした後は、ムービークリップからフォーカスが移動されてしまうため、key was pressed は表示されません。このため、ほとんどの場合は Key.onKeyDown を使用する必要があります。

関連項目

getAscii (Key.getAscii メソッド), getCode (Key.getCode メソッド), onKeyDown (Key.onKeyDown イベントリスナー), focusEnabled (MovieClip.focusEnabled プロパティ), onKeyUp (MovieClip.onKeyUp ハンドラ), setFocus (Selection.setFocus メソッド)


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001946.html