Aframe 如何使用事件选择查询选择器来选择一个实体以复制另一个实体的旋转?

Aframe 如何使用事件选择查询选择器来选择一个实体以复制另一个实体的旋转?,aframe,Aframe,在这个组件代码中,我试图使用一个事件来选择名为“name”的变量的含义 选择哪个实体将在用户观看时复制另一个实体旋转 不同的事件将导致不同的旋转 因此,事件1表示名称等于querySelector对象A 然后我试着让行获得它自己的旋转,并将其交给name的(to)动画,然后开始 通过向名称发射moveobject来命名动画 然而,在花了很多时间试图解决这个问题之后,我现在被困在这个问题上。帮忙 AFRAME.registerComponent("comp", { init:

在这个组件代码中,我试图使用一个事件来选择名为“name”的变量的含义 选择哪个实体将在用户观看时复制另一个实体旋转

不同的事件将导致不同的旋转

因此,事件1表示名称等于querySelector对象A

然后我试着让行获得它自己的旋转,并将其交给name的(to)动画,然后开始 通过向名称发射moveobject来命名动画

然而,在花了很多时间试图解决这个问题之后,我现在被困在这个问题上。帮忙

    AFRAME.registerComponent("comp", {
       init: function () {
           let name = {}
           this.el.addEventListener("event1", (e) => {
             name = document.querySelector('#objectA');
             console.log('event1')
// line 13?   comp.emit('rowstart)
           });
           this.el.addEventListener("event2", (e) => {
             name = document.querySelector('#objectB');
             console.log('event2')
           });

           let row = document.querySelector('#rowA');
           row.addEventListener('rowstart', function (e) {
               var rotation = row.getAttribute('rotation')
               name.setAttribute('animation', {
                   to: {
                       x: rotation.x,
                       y: rotation.y,
                       z: rotation.z - 30
                   }
               })
           name.emit('moveobject')
           });
       }
   });

我应该提到,下面的链接是我的代码在仅复制旋转时的样子,而不是使用事件来选择要旋转(编辑)的实体。

to
不是向量属性,您必须将其作为字符串传递

name.setAttribute('animation', 'to', `${rotation.x} ${rotation.y} ${rotation.z}`);

to
不是向量属性,必须将其作为字符串传递

name.setAttribute('animation', 'to', `${rotation.x} ${rotation.y} ${rotation.z}`);

好吧,我把to变成了一个字符串“to”,但在我把它变成字符串之前和之后,我在上面链接的glitch.com上的示例代码中已经使用了。我怀疑我需要解决的部分是,一旦名称querySelector被此脚本之外的事件选择,在第13行,我想知道我是否需要一个emit语句或其他什么,我不确定你到底想做什么,如果你缩小/t,可能会有帮助;dr将问题简化为一个技术问题,而不考虑整个项目的背景。也许你是在询问活动的细节?您可以传递事件详细信息
someEl.emit('eventName',value)
然后
value
将被传递给事件处理程序
evt.detail
。你也可以通过这种方式传递元素或对象。几天前我确实完成了这段代码,这里有一段视频,显示了当它按照预期的方式工作时它是什么样子的,但是我们解决它的方式与你提出的解决方案完全不同,这很好,只是现在我想学习如何重新解决为了提高我对A型架工作原理的理解,您已经解决了哪些问题。我很难用一种狭义的方式来描述我要做的事情,但我会再次尝试。好吧,我把to变成了一个字符串“to”,但在我把它变成字符串之前和之后,在上面链接的glitch.com上的示例代码中,这已经起作用了。我怀疑我需要解决的部分是,一旦名称querySelector被此脚本之外的事件选择,在第13行,我想知道我是否需要一个emit语句或其他什么,我不确定你到底想做什么,如果你缩小/t,可能会有帮助;dr将问题简化为一个技术问题,而不考虑整个项目的背景。也许你是在询问活动的细节?您可以传递事件详细信息
someEl.emit('eventName',value)
然后
value
将被传递给事件处理程序
evt.detail
。你也可以通过这种方式传递元素或对象。几天前我确实完成了这段代码,这里有一段视频,显示了当它按照预期的方式工作时它是什么样子的,但是我们解决它的方式与你提出的解决方案完全不同,这很好,只是现在我想学习如何重新解决为了提高我对A型架工作原理的理解,您已经解决了哪些问题。我努力用一种狭隘的方式来描述我要做的事情,但我会再次尝试这样做。