1

有没有办法在中添加凝视按钮?另请注意,为了获得更好的体验,必须有一个小的进度条来了解用户必须查看它多长时间。

我查看了检查器工具的内部,但没有发现任何工作。

这个 YouTube 教程中,我发现了如何添加点击控件。我可以用同样的方式制作凝视事件吗?

4

2 回答 2

3

您可以使用光标组件的 fuse 属性通过凝视来选择一个项目。在此处查看 A-Frame 文档: https ://aframe.io/docs/0.5.0/components/cursor.html#fuse-based-cursor

这将触发项目上的单击事件,因此您还需要在项目上为单击事件设置一个侦听器。

于 2017-03-27T16:20:26.017 回答
1

通过搜索,我找到了一个可行的解决方案。这是我的代码:

document.getElementsByTagName('a-sphere')[0].addEventListener('click', function(){
    alert('click');
});
<script src="https://aframe.io/releases/0.5.0/aframe.min.js"></script>
<a-scene>
    <!-- this is my object that must execute a click event when looked -->
    <a-sphere position="0 0 -7" color="red">
    </a-sphere>

    <!-- camera -->
    <a-camera look-controls wasd-controls cursor="maxDistance: 30; fuse: true">
        <!-- progress bar -->
        <a-entity position="0 0 -3" geometry="primitive: ring; radiusOuter: 0.07;radiusInner: 0.05;" material="color: cyan; shader: flat"
            cursor="maxDistance: 30; fuse: true">
            <!--<a-cursor color="red"></a-cursor>-->
            <a-animation begin="click" easing="ease-in" attribute="scale" fill="backwards" from="0.1 0.1 0.1" to="1 1 1" dur="150"></a-animation>
            <a-animation begin="fusing" easing="ease-in" attribute="scale" fill="forwards" from="1 1 1" to="0.1 0.1 0.1" dur="1500"></a-animation>
        </a-entity>
    </a-camera>
</a-scene>

感谢@thoragio 的回答。

于 2017-03-28T14:25:48.723 回答