如何在a-entity AFRAME上进行焦点活动?

时间:2019-04-23 04:53:38

标签: events event-handling aframe

我有一个实体文本,并且并排有事件单击,但是当我单击右边时,左边的事件是侦听,然后转到右边的事件?

似乎左侧的触发器必须先在右侧传递,然后再向左

示例

按钮1:转到“ / createroom” 按钮2:转到“ /休息室”

当我单击button2时:它被触发到'/ createroom'然后进入'/ joinroom'

是因为宽度a-entity文本吗?还是什么??

这是我的实体

<a-text
  id="createRoom"
  cursor="rayOrigin: mouse;maxDistance: 30; fuse: true ; far: 10"
  width="10"
  position="-6 3 -5"
  align="left"
  value="create room"
  geometry="primitive:plane"
  animation="property: position; from: -6 3 -5; to: -6 3.5 -5; loop: true; dir: alternate; easing:linear;dur:1000"
>
</a-text>

 // buton2
<a-text
  id="joinRoom"
  width="10"
  align="right"
  raycaster="objects: .collidable; far: 8"
  position="6 0.7 -5"
  cursor="rayOrigin: mouse;maxDistance: 30; fuse: true"
  value="joinroom"
  geometry="primitive:plane"
  animation="property: position; from: 6 0.7 -5; to: 6 0.9 -5; loop: true; dir: alternate; easing:linear;dur:1000"
></a-text>

1 个答案:

答案 0 :(得分:1)

放置cursor组件之一:

  • 在现场:<a-scene cursor="rayOrigin: mouse">
  • 是射线起点的任何元素上的

    <a-camera>
      <a-entity cursor></a-entity>
    </a-camera>
    
    <a-entity id="vive-controller" cursor></a-entity>
    

否则,射线可能会穿过许多“独立的”实体,并导致多个click事件。

正确操作小提琴here
用光标在文本上拨弄(例如在问题中)here