A-Frameでkeydownやkeyup等のキーボードイベントを使ってブラウザ上で3D空間上の何かしらのオブジェクトを操作したりする方法。VRモードではなく、その前のブラウザモードでも何かしらの操作をできるようにしておきたい場合など。
下記のように、キーボードイベントをトラッキングしたコンポーネントを作成する。とくにいい方法があるわけではなさそうなので直接windowのイベントを利用する。
AFRAME.registerComponent('key-controllable', {
init: function () {
window.addEventListener('keydown', this.onKeyDown.bind(this))
window.addEventListener('keyup', this.onKeyUp.bind(this))
実際の処理は通常のWebのプログラミングと同様。
onKeyDown: function (e) {
if (e.keyCode == 65) {
this.rotating = 'left'
}
}
ちなみにWASDキーを使いたい場合は前提として、デフォルトではWASDキーがカメラの移動に使用されているため下記の方法で無効にしておく必要がある。
あとはこれを動かしたいオブジェクトに指定する。
<a-box key-controllable>
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント