对于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;
}
};
我们正在发现这个很棒的库,我问是否有其他方式可以使用此功能。
提前致谢
答案 0 :(得分:1)
执行此操作的默认方法是使用正如您所做的look-controls
以及键盘的wasd-controls
。
示例:
<a-entity camera look-controls wasd-controls></a-entity>
如果您需要对其进行分叉并对不同的布局进行更改,您还可以检查source code for wasd-controls
。