gpt4 book ai didi

javascript - Aframe 版本 0.8.2 中注册的组件单击事件和 master 不起作用

转载 作者:行者123 更新时间:2023-12-03 00:41:27 26 4
gpt4 key购买 nike

我在之前版本的 Aframe 0.8.0 中使用了这个确切的代码,并且点击工作正常。但是,当我尝试使用 0.8.2 或主版本时,它没有显示点击迹象,也没有显示任何错误

这是我注册的组件,我想检测对其附加的实体的点击

 AFRAME.registerComponent('change-color-on-hover', { 
init: function () {
var data = this.data;
var el = this.el; // <a-box>
var defaultColor = el.getAttribute('material').color;
/**
* Attach 'click' event
*/
el.addEventListener('click', function () {
alert('clicked');
});
}});

我想要检测点击的元素(我稍后设置它的位置,它们出现在应该出现的位置)

  <a-image position="" src="#blue_target_rendered" height="30" width="40" depth="1" shadow event-set__click="_event: click; color:black" change-color-on-hover look-at="[camera]"  id="hotspot-{{$hotspot->id}}" data-link-to="{{$hotspot->link_to}}" data-link-from="{{$hotspot->link_from}}">

最佳答案

使用这样的设置:

<a-entity id="cameraParent" position="0 0 0" > 
<a-entity id="cam" camera="zoom:1;" look-controls collider-check position="0 0 0" >
<a-entity cursor=" rayOrigin: mouse" geometry="primitive: ring; radiusInner: 0; radiusOuter: 0" material="color: black; shader: flat"></a-entity>
<a-entity raycaster="showLine: true; far: 1000"></a-entity>
</a-entity>
</a-entity>

raycaster 创建的 line 组件会干扰 cursor = rayOrigin: mouse 发出的光线。换句话说,您每次点击时都会点击带有line 的元素。

如果稍微重新定位raycaster:

<a-entity position="0 -0.1 0" raycaster="showLine:true; far: 1000"></a-entity>

鼠标光标应该可以正常工作。

关于javascript - Aframe 版本 0.8.2 中注册的组件单击事件和 master 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53447669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com