3回目キー入力
-
Upload
takuya-shishido -
Category
Documents
-
view
129 -
download
1
Transcript of 3回目キー入力
![Page 1: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/1.jpg)
キー入力
![Page 2: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/2.jpg)
私が思う、ゲームをゲーム足らしめる条件は遊んでいる人が入力したらそれにゲームが反応すること!
![Page 3: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/3.jpg)
そういうわけで、今回はキーボードで入力した時にゲームのキャラクタが色々反応するようにしてみましょう!
![Page 4: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/4.jpg)
何はともあれ、とりあえず← を押したり → を押した時にキャラクタを移動させてみたくありませんか?
![Page 5: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/5.jpg)
じゃあそれを作りましょう!
![Page 6: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/6.jpg)
そもそもプログラムではボタンを押した・押してないをどうやって知るの?
![Page 7: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/7.jpg)
それは、押されたときに教えてね! プログラムを書きます。
簡単でしょ?
![Page 8: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/8.jpg)
どうやって教えてもらうの?
if (document.addEventListener){
// キーボードを押したときに実行されるイベントdocument.addEventListener("keydown" , KeyDownListener);
}
これー!!
![Page 9: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/9.jpg)
Ctrl + F で検索用の箱を出して、KeyDownListenerって入力して Enter 押してみましょう!
![Page 10: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/10.jpg)
keydown 以外に何があるの?
keydownkeypresskeyup
の3種類!
押した瞬間 down !押してる間 press !離した瞬間 up !
![Page 11: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/11.jpg)
ゲームの世界ではこの3つを頼りに頑張ってみんなが押したボタンを見分けてます!
でも2つあればなんとかなるんですけどね…
![Page 12: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/12.jpg)
押されたかどうかはわかった。だが、何が押されたかが問題だ。
![Page 13: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/13.jpg)
ファイル名、 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回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/14.jpg)
特に、
function KeyEventListener(e) {// ------------------------------------------------------------// 入力情報を取得// ------------------------------------------------------------// キーコードvar key_code = e.keyCode;
}
これが大事だったりします!
![Page 15: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/15.jpg)
function KeyDownListener(e) {// 試しにここで F9 を押してマークを付けてみましょう// そんで ↑ キーを押してみると?
}
![Page 16: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/16.jpg)
function KeyDownListener(e) {// キーコードvar key_code = e.keyCode;
}
keyCode にカーソルを当てるとなんて表示されてます?
![Page 17: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/17.jpg)
そう、その数字こそが、どのキーが押されたかを判断する番号なのです!
![Page 18: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/18.jpg)
つまり、↑ が押された時のためのプログラムを書くには!?
![Page 19: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/19.jpg)
ちなみに、どのキーが押されたら何が入っているかはこちらをどぞ一覧がのっています!入力するのが面倒だったらググっちゃってください。
http://www.programming-magic.com/file/20080205232140/keycode_table.html
![Page 20: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/20.jpg)
ここでの表の通り、使っているブラウザによってボチボチ違うんですよ!
![Page 21: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/21.jpg)
ブラウザ依存に関する話になりますが、
例えば表示物が表示されなくなったりレイアウトが崩れたりということがあります。
ちなみに今回のゲームの作り方なら表示物に関しては影響を受けないはずです。それこそが HTML5 の素晴らしいところなのです。
![Page 22: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/22.jpg)
というわけで、今回の入力の受付のおかげでキャラクタの移動が出来るようになったので、前回の内容をと合わせて、移動中のアニメーションを付けてみてください!
![Page 23: 3回目キー入力](https://reader035.fdocument.pub/reader035/viewer/2022062313/55cbb1aabb61ebbd678b472d/html5/thumbnails/23.jpg)
今日の講義はこれにて終了です!お疲れ様でした。