在a-frame 0.8.2中无法使用EventListener

时间:2018-08-19 10:44:10

标签: javascript aframe

此代码在A帧0.8.0中正常工作。 但是我无法从A帧0.8.2中的EventListner获得相机旋转。 有人有解决办法吗?

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script src="https://aframe.io/releases/0.8.2/aframe.min.js"> </script>
</head>

<body>
    <a-scene>
        <a-box color="tomato" position="0 0 -5"depth="2" height="4" width="0.5"></a-box>
        <a-camera id="camera" ></a-camera>
    </a-scene>
    <script type="text/javascript">  
        var target = document.querySelector('[camera]');
        target.addEventListener('componentchanged', function(event) {
            console.log(target.getAttribute('rotation'));
        });
    </script>
</body>

</html>

1 个答案:

答案 0 :(得分:1)

1)您不会使用<a-camera> css选择器来抓取[camera]。相反,您应该使用document.querySelector(a-camera)

2)最好在自定义组件中轮询旋转值:

AFRAME.registerComponent("foo", {
  tick: function() {
    console.log(this.el.getAttribute("rotation")
  }
})

HTML

<a-camera foo></a-camera>

在我的fiddle

中查看