Animation 悬停问题上文本中的帧动画

Animation 悬停问题上文本中的帧动画,animation,text,aframe,Animation,Text,Aframe,链接到演示^ HMTL: 我有两个元素,一个圆和一个文本元素 圆形元素:悬停时需要在其上方的文本中设置动画。在我的JS中,我将其设置为获取圆的位置,然后将该位置设置为文本元素,但在此之前,它将Y位置增加2个单位 由于某些原因,当我将鼠标悬停在圆上时,我的动画会疯狂地循环。起初我认为这可能是因为文本元素与圆圈重叠,丢失了悬停事件。但是,我尝试通过修改X和Z将文本元素移动到其他位置。。但是运气不好。当文本展开时,它会妨碍光标的光线投射,并且会发出鼠标移动 您可以使用对象属性限制光标可以单击的实体 &

链接到演示^

HMTL:

我有两个元素,一个圆和一个文本元素

圆形元素:悬停时需要在其上方的文本中设置动画。在我的JS中,我将其设置为获取圆的位置,然后将该位置设置为文本元素,但在此之前,它将Y位置增加2个单位


由于某些原因,当我将鼠标悬停在圆上时,我的动画会疯狂地循环。起初我认为这可能是因为文本元素与圆圈重叠,丢失了悬停事件。但是,我尝试通过修改X和Z将文本元素移动到其他位置。。但是运气不好。

当文本展开时,它会妨碍光标的光线投射,并且会发出
鼠标移动

您可以使用
对象
属性限制光标可以单击的实体

<a-cursor objects='clickable'> </a-cursor>

完美,它成功了!,我希望文档更详细,并给出小示例代码。@user1986245很高兴我能提供帮助。该功能在中提到过,不过可能有一个切换可点击目标的示例是一个不错的主意
AFRAME.registerComponent("name-on-hover", {
  schema: {
    target: {
      type: "selector",
      default: ""
    }
  },
  init: function() {
    var target = this.data.target;
    var el = this.el;
    this.setupNamePos();
    el.addEventListener("mouseenter", function() {
      target.emit("in"); // animate in
    });
    el.addEventListener("mouseleave", function() {
      target.emit("out"); // animate out
    });
  },
  setupNamePos: function() {
    var name = this.data.target; // get name element
    var elPos = this.el.getAttribute("position"); // get the pos of hovered element

    name.setAttribute("position", {
      //set name position relevant to hovered element
      x: elPos.x,
      y: elPos.y + 2,
      z: elPos.z
    });
  }
});
<a-cursor objects='clickable'> </a-cursor>