Gamepad APIであそんでみる

ウェブブラウザでゲームパッド(いわゆるゲームのコントローラ)が使えたらいいなと思っていたら、Gamepad APIなるものがあることを知りました。 developer.mozilla.org

ということでつかってみます。Gamepad APIの使い方は、上記の記事がわかりやすいです。

遊んでみた結果はこちら。ゲームパッドの操作の状態を表示します。また、ゲームパッドのボタンのマッピング(たとえば、Aボタンが押されたらジャンプする、のような関係)を変更したりできます。 garakuta-toolbox.com

ソースコードはこちら github.com

Gamepad API単体では、あるタイミングでのボタンやジョイスティックの状態を取得できます。しかし、ボタンの押下状態の変化(ボタンが押された→離された、など)を検知するには、別途実装が必要のようです。 また、(おそらく)ゲームパッドによってボタンの配置が異なったりすることから、実用的に使うにはボタンのマッピングが簡単にできる必要がありそうです(少なくとも、W3Cのドキュメントに記載があるSTANDARD GAMEPADと、私が持っているゲームパッドでは微妙にボタンの配置が異なりました)。

ということで、このあたりの実装をしてみたのでした。今回はお試し的に実装してみましたが、ライブラリとして公開できるように作ったつもりになっているので、今後はnpmで公開できるようにして、わたしの製作物のあれこれに使おうかなと思っています。みんなでつくるダンジョンでゲームパッドが使えるようになるかも~。

ではでは。