Aframe a-frame:camera+;看控制与控制&;键盘控制

Aframe a-frame:camera+;看控制与控制&;键盘控制,aframe,Aframe,对于Hackaton,我们必须使用键盘和摄像头管理的移动。 我在文件上没有找到两者都可以使用的可能性 为了解决这个问题(仅用于演示),我亲自捕捉关键事件,如下所示: <!--html--> <a-entity camera id="camera" look-controls position="0 1.764 0"> <a-entity id="cursor" cursor="fuse: false; fuseTimeout: 500" po

对于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;

            }
        };

//javascript
priv.bindEvent=函数(evt){
var el=document.getElementById('camera').getAttribute('position');
var element=document.getElementById('camera');
开关(电动钥匙){
案例“z”:
el.z-=0.2;
element.setAttribute('position',el.x+“”+el.y+“”+el.z);
打破
案例“q”:
el.x-=0.2;
element.setAttribute('position',el.x+“”+el.y+“”+el.z);
打破
案例“d”:
el.x+=0.2;
element.setAttribute('position',el.x+“”+el.y+“”+el.z);
打破
案例“s”:
el.z+=0.2;
element.setAttribute('position',el.x+“”+el.y+“”+el.z);
打破
违约:
打破
}
};
我们正在发现这个很棒的库,我问是否还有其他方法可以使用这个功能


提前感谢

执行此操作的默认方法是使用
外观控件
,就像您已经在做的一样,同时使用键盘

例如:

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

如果需要分叉并更改不同的布局。

执行此操作的默认方法是使用
外观控件,就像您已经在做的那样,同时使用键盘

例如:

<a-entity camera look-controls wasd-controls></a-entity>
如果需要分叉并更改不同的布局