有没有办法在aframe中添加凝视按钮?另请注意,为了获得更好的体验,必须有一个小的进度条来了解用户必须查看它多长时间。
我查看了检查器工具的内部,但没有发现任何工作。
在这个 YouTube 教程中,我发现了如何添加点击控件。我可以用同样的方式制作凝视事件吗?
有没有办法在aframe中添加凝视按钮?另请注意,为了获得更好的体验,必须有一个小的进度条来了解用户必须查看它多长时间。
我查看了检查器工具的内部,但没有发现任何工作。
在这个 YouTube 教程中,我发现了如何添加点击控件。我可以用同样的方式制作凝视事件吗?
您可以使用光标组件的 fuse 属性通过凝视来选择一个项目。在此处查看 A-Frame 文档: https ://aframe.io/docs/0.5.0/components/cursor.html#fuse-based-cursor
这将触发项目上的单击事件,因此您还需要在项目上为单击事件设置一个侦听器。
通过搜索,我找到了一个可行的解决方案。这是我的代码:
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 的回答。