我正在使用A-Frame(当前主版本),我的目标是确定Oculus Go控制器上要触摸的位置。 (这不是用于移动相机,因此在这种情况下,移动控制组件将无济于事。)我已经设置了一个包含文本对象的场景,以便可以在Oculus Go上进行测试时查看数据。
场景的相关部分是:
<a-scene>
<a-entity id="textArea" text="data will be displayed here"> </a-entity>
<a-entity oculus-go-controls updater> </a-entity>
</a-scene>
我还使用以下组件,设置为显示发送到事件处理程序的数据:
AFRAME.registerComponent('updater', {
init: function()
{
let textArea = document.querySelector('#textArea');
this.el.addEventListener("axismove", function(event)
{
textArea.setAttribute("text", "value", "axismove: " + JSON.stringify(event) );
});
}
});
但是,在触控板上移动拇指后,文本对象显示为:
axismove: {'isTrusted': false}
基于https://aframe.io/docs/0.8.0/components/tracked-controls.html的理解是,应该在事件中传递轴数据。如何访问轴信息?
答案 0 :(得分:2)
Oculus Go仅在master分支中受支持,直到0.9.0发行,但您现在可以通过将脚本标签指向https://rawgit.com/aframevr/aframe/6888165/dist/aframe-master.min.js
来使用它。使用oculus-go-controls component并监听trackpadchanged
事件。轴值在事件详细信息中:
controllerEl.addEventListener(‘trackpadchanged’, function (evt) {
...evt.detail...
});