3回目キー入力

23
キキキキ

Transcript of 3回目キー入力

Page 1: 3回目キー入力

キー入力

Page 2: 3回目キー入力

私が思う、ゲームをゲーム足らしめる条件は遊んでいる人が入力したらそれにゲームが反応すること!

Page 3: 3回目キー入力

そういうわけで、今回はキーボードで入力した時にゲームのキャラクタが色々反応するようにしてみましょう!

Page 4: 3回目キー入力

何はともあれ、とりあえず← を押したり → を押した時にキャラクタを移動させてみたくありませんか?

Page 5: 3回目キー入力

じゃあそれを作りましょう!

Page 6: 3回目キー入力

そもそもプログラムではボタンを押した・押してないをどうやって知るの?

Page 7: 3回目キー入力

それは、押されたときに教えてね! プログラムを書きます。

簡単でしょ?

Page 8: 3回目キー入力

どうやって教えてもらうの?

if (document.addEventListener){

// キーボードを押したときに実行されるイベントdocument.addEventListener("keydown" , KeyDownListener);

}

これー!!

Page 9: 3回目キー入力

Ctrl + F で検索用の箱を出して、KeyDownListenerって入力して Enter 押してみましょう!

Page 10: 3回目キー入力

keydown 以外に何があるの?

keydownkeypresskeyup

の3種類!

押した瞬間 down !押してる間 press !離した瞬間 up !

Page 11: 3回目キー入力

ゲームの世界ではこの3つを頼りに頑張ってみんなが押したボタンを見分けてます!

でも2つあればなんとかなるんですけどね…

Page 12: 3回目キー入力

押されたかどうかはわかった。だが、何が押されたかが問題だ。

Page 13: 3回目キー入力

ファイル名、 KeyEventListener

function KeyDownListener(e) {// ------------------------------------------------------------// 入力情報を取得// ------------------------------------------------------------// キーコードvar key_code = e.keyCode;// Shift キーの押下状態var shift_key = e.shiftKey;// Ctrl キーの押下状態var ctrl_key = e.ctrlKey;// Alt キーの押下状態var alt_key = e.altKey;

}

Page 14: 3回目キー入力

特に、

function KeyEventListener(e) {// ------------------------------------------------------------// 入力情報を取得// ------------------------------------------------------------// キーコードvar key_code = e.keyCode;

}

これが大事だったりします!

Page 15: 3回目キー入力

function KeyDownListener(e) {// 試しにここで F9 を押してマークを付けてみましょう// そんで ↑ キーを押してみると?

}

Page 16: 3回目キー入力

function KeyDownListener(e) {// キーコードvar key_code = e.keyCode;

}

keyCode にカーソルを当てるとなんて表示されてます?

Page 17: 3回目キー入力

そう、その数字こそが、どのキーが押されたかを判断する番号なのです!

Page 18: 3回目キー入力

つまり、↑ が押された時のためのプログラムを書くには!?

Page 19: 3回目キー入力

ちなみに、どのキーが押されたら何が入っているかはこちらをどぞ一覧がのっています!入力するのが面倒だったらググっちゃってください。

http://www.programming-magic.com/file/20080205232140/keycode_table.html

Page 20: 3回目キー入力

ここでの表の通り、使っているブラウザによってボチボチ違うんですよ!

Page 21: 3回目キー入力

ブラウザ依存に関する話になりますが、

例えば表示物が表示されなくなったりレイアウトが崩れたりということがあります。

ちなみに今回のゲームの作り方なら表示物に関しては影響を受けないはずです。それこそが HTML5 の素晴らしいところなのです。

Page 22: 3回目キー入力

というわけで、今回の入力の受付のおかげでキャラクタの移動が出来るようになったので、前回の内容をと合わせて、移動中のアニメーションを付けてみてください!

Page 23: 3回目キー入力

今日の講義はこれにて終了です!お疲れ様でした。