a-frame:相机+外观控制&&键盘控制

时间:2017-03-19 10:18:47

标签: aframe

对于Hackaton,我们必须使用带键盘和相机管理的移动。 我没有在文档中找到使用两者的可能性。

要解决问题(仅限演示),我自己就像这样抓住关键事件:

<!--html-->
   <a-entity camera id="camera"  look-controls position="0 1.764 0">
        <a-entity id="cursor" cursor="fuse: false; fuseTimeout: 500" position="0 0 -1"

                   geometry="primitive: ring; radiusInner: 0.01; radiusOuter: 0.02;" material="color: #CCC; shader: flat;">

        </a-entity>
   </a-entity>


//javascript
    priv.bindEvent = function(evt) {
            var el = document.getElementById('camera').getAttribute('position');
            var element = document.getElementById('camera');
            switch(evt.key) {
                case "z":
                    el.z -= 0.2;
                    element.setAttribute('position', el.x+" "+el.y+" "+el.z);
                    break;
                case "q":
                    el.x -= 0.2;
                    element.setAttribute('position', el.x+" "+el.y+" "+el.z);
                    break;
                case "d":
                    el.x += 0.2;
                    element.setAttribute('position', el.x+" "+el.y+" "+el.z);
                    break;
                case "s":
                    el.z += 0.2;
                    element.setAttribute('position', el.x+" "+el.y+" "+el.z);
                    break;
                default:
                    break;

            }
        };

我们正在发现这个很棒的库,我问是否有其他方式可以使用此功能。

提前致谢

1 个答案:

答案 0 :(得分:1)

执行此操作的默认方法是使用正如您所做的look-controls以及键盘的wasd-controls

示例:

<a-entity camera look-controls wasd-controls></a-entity>

如果您需要对其进行分叉并对不同的布局进行更改,您还可以检查source code for wasd-controls

相关问题