基礎から学ぶActionScript 3.0

KeyboardEventオブジェクトとキーコード

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
キーボードのどのキーが押されたかは、KeyboardEventオブジェクトのkeyCodeプロパティで確かめられます。
講師:
08:31

字幕

キーボードで操作するムービーを ActionScript で作る場合、 KeyboardEvent クラスの イベントにリスナーを登録します。 その中でも特に、 キーボードからキーを押した場合の 処理について、ご説明します。 キーボード操作のイベントに リスナーを登録する場合には、 addEventListener の メソッドの第1引数に、 KeyboardEvent クラスの イベントを定めます。 つまり KeyboardEvent. と いうことになるわけですが、 キーを押すと放すの 2つ種類があります。 押すほうが KeyboardEvent.KEY_DOWN です。 そして、放すほうが KeyboardEvent.KEY_UP もちろん、押すのと放すのでは、 タイミングが違います。 それだけでなく、 KEY_DOWN の場合は キーを押し続けた場合、 何度も何度も、 KEY_DOWN のイベントが発生します。 けれども KEY_UP は 放した時しか発生しませんので、 そうした違いもあります。 今回は KeyboardEvent.KEY_DOWN の方を 使います 新規の Flash ムービーファイル、 fla ファイルを開きました。 ここに、テスト用のスクリプトを 書いてみましょう。 フレームアクションを書きますので、 キーフレームを右クリックで、 「アクション」パネルを開きます。 まず、 キーボードイベント、 キー操作のイベントを受け取るには、 誰にお願いしたらいいか ということから確認します。 インスタンスに対して、 キーを押すということは、普通はないですね。 例外的には、ないことはないですが、 多くの場合は、 そうした一般的なイベントについては、 stage にお願いします。 ですから、 stage.addEventListener です。 そして KeyboardEvent.KEY_DOWN というのが、 コードヒントから入りました。 じゃ、テスト用のリスナーを定めます。 xKeyDown とします。 function リスナーのファンクション関数を定めます。 名前は xKeyDown コピーしましょう。 そして、イベントリスナーの定め方は、 普通、お約束通りですね。 eventObject を受け取ります。 そして eventObject は、 KeyboardEvent のクラスの イベントを定めましたので、 KeyboardEvent 今 Keyboard がハイライトしてますが、 この下に KeyboardEvent が ありますので、 下向き矢印キーで、 KeyboardEvent を選びます。 そして () の後は :void と。 そして、キーボードのイベント、 主に、インターアクションのある イベントですね、 マウスイベントもそうなんですが、 eventObject が結構活用されます。 これをトレースしてみましょう。 trace の、 eventObject です。 では、ムービープレビューを試してみましょう。 「制御」>「ムービープレビュー」です。 もちろん、ただこのまま持っていても、 何も起こりません。 キーボードから、何かキーをします。 では、 A B C の A のキーをしてみますと、 trace 関数を入れましたので、 「出力」パネルに何か出ます。 押しました。 何か情報がたくさん出てますね。 これは、実は eventObject が持っている プロパティの情報です。 この中の、特によく使うものについて ご説明しましょう。 SWF は閉じます。 「出力」パネルに表示された KeyboardEvent オブジェクトの情報の中から、 4つほどプロパティを ピックアップしました。 まず keyCode これは良く使われます。 「どのキーを押したか」ということです。 先ほど、例えば私は、 「A のキーを押しました。」と言いました。 その時は、A のキーの keyCode、 正数の番号が表示されます。 キーによって違います。 ですから、 A のキーであれば、 Shift を押したか、 押さないかにかかわらず、 そのキーの番号が出てきます。 それから、後の3つは、 モディファイアキーとも言いますけれども、 よく、組み合わせて使われるキーです。 ctrlKey 、 altKey 、 shiftKey 。 Mac の場合には Ctrl は Command に対応しますし、 Alt は Option に対応します。 それぞれのキーが 押されたかどうかという情報で、 押されていれば true 押されていなければ、 false という値になります。 こちらのプロパティを調べることによって、 どんなキー操作をしたか ということが分かります。 そして今回 KEY_DOWN の イベントに登録しましたので、 そのキーを「押した」 という情報になります。 では、受け取った eventObject の中から、 どのキーが押されたかという、 キーコードを調べてみましょう。 keyCode コードヒントがハイライトしましたね。 Enter を押せば、 keyCode が入ります。 これでムービープレビューを試せば、 キーを押した時に、 そのキーのキーコードが 「出力」パネルに表示されます。 では、ムービープレビューで確かめてみましょう。 「制御」>「ムービープレビュー」です。 まず、先ほどと同じように、 キーボードから、アルファベットの A のキー押します。 65 ですね。 じゃ、矢印キーの左向きを押します。 37 例えば、それでは今度は、 . (ピリオド)を押してみます。 何も起こりません。 , (カンマ)を押してみます。 やはり何も起こりません。 Enter キーを押します。 出てきません。 「これらのキーは、 じゃ、調べられないか」というと、 そういうわけではありません。 ムービープレビューで確かめる時には、 1点注意が必要なのです。 SWF のウィンドウに メニューが出ていますね。 この中の、例えば、 「制御」を開けてみます。 そうすると、 多くのアプリケーションでは、 メニューにショートカットキーがありますね。 このメニューにもあります。 例えば、「1フレーム進める . (ピリオド)」です。 「1フレーム戻す , (カンマ)」です。 「再生 Enter」 ということで、先ほど、 キーを押しても出てこなかったのは、 ショートカットが 先に割り当たられているので、 こちらに奪われてしまうですね。 じゃ、どうしたらいいかというと、 ムービープレビューで そのテストをしたい時には、 「キーボードショートカットを無効」と いうメニューがあります。 そうすると、このメニューの ショートカットは使えなくなる代わりに、 ActionScript の方で、 これらのキーを ちゃんと、キーボードイベントとして 受け取ることができます。 もちろん、これをブラウザで試せば こういう問題はありません。 ムービープレビューで試す場合の注意です。 じゃ、これを選びます。 このメニューは オンオフ になっていますので、 1回 オンにすれば、 オフにするまでは チェックが付いたままになっています。 では、もう一度。 . (ピリオド)を打ちます。 190 , (カンマ) 188 Enter 13 ということで、 ちゃんと、これらのキーの キーコードも調べることが可能です。 では、 SWF を閉じましょう。 キーボードのイベントを 扱う時のおさらいです。 まず、イベントリスナーは stage に対して、 addEventListener の メソッドを呼び出します。 stage にお願いするということです。 それからキーを押す場合、 KeyboardEvent.KEY_DOWN になります。 ちなみに、キーを放した時は KEY_UP ですね。 そしてイベントリスナーの 登録の仕方は通常通りです。 リスナー関数の名前を定義し、 そして、 eventObject を受け取ります。 データ型は KeyboardEvent になります。 そして、キーボードの操作については、 この、受け取った eventObject が活躍します。 この eventObject の中の 押したキーを知りたい場合には、 KeyCode を使います。 そのほか、Alt キー、 Ctrl キー、 Shift キー などが 押されているかどうかという プロパティもありましたね。 そして ムービープレビューで テストする際の注意ですが、 ショートカットキーを無効にしないと、 ショートカットキーの割り当てられている キーの操作が受け取れません。 その点は特に、ご注意ください。 以上が、キーボードの操作を扱う場合の キーのイベントの扱い方でした。

基礎から学ぶActionScript 3.0

このコースではFlashのActionScript 3.0を初めて学ぶ方を対象に、ActionScriptの基礎から実際にプログラミングをするところまで学習していきます。簡単なスクリプトによるオブジェクトの操作の仕方から始まり、変数や関数といったプログラミングの基礎、そしてインタラクティブなコンテンツの作成まで詳しく解説いたします。

6時間30分 (49 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月16日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。