2017-10-09 21 views
1

我目前正试图从Oculus Touch按钮获取按钮输入。我能够将激光控制器连接到控制器,但我希望能够打开和关闭激光器。不知道这是否可能,但我目前这种设置是没有应答工作:如何设置A帧的按钮输入

<script> 
AFRAME.registerComponent('x-button-listener', { 
    init: function() { 
     var el = this.el; 
     el.addEventListener('xbuttondown', function(evt) { 
      var cameraEl = document.querySelector('#cameraRig[#left-hand]'); 
      cameraEl.removeAttribute('laser-controls'); 
     }); 
    } 
}); 
</script> 

<a-entity id="cameraRig"> 
    <a-entity x-button-listener id="left-hand" teleport-controls="button: trigger; collision-entities: #ground" laser-controls="hand: left"></a-entity> 
</a-entity> 

任何帮助将不胜感激。

+0

您是否在''中注册/包含组件?看起来第一眼看起来是正确的......触发'做什么? – ngokevin

+0

我目前没有记录触发器。我正在使用teleport-controls =“button:trigger; collision-entities:#ground”,它使用触发器来传送。 经过一些更多的测试后,我在A-Frame站点上使用了xbutton输入的示例,并且当我试图仅影响激光控制时,它使整个Oculus控制器消失 – douglascomet

回答

0

你想干什么.setAttribute('raycaster', 'showLine', false),不删除laser-controls

+0

谢谢!这是我需要的解决方案。我相对较新的JavaScript,所以我一直依靠明确的例子来说明如何做某些事情。 – douglascomet

1

您的查询看起来很奇怪。难道你的意思是

document.querySelector('#left-hand') 

document.querySelector('#cameraRig > #left-hand') 

(见MDN了解更多信息)

相关问题