2017-04-25 41 views
0

我有一个摄像机运动回调函数,在aframe中实现。但回调从未被调用。我注册的组件是这样的:未调用Aframe回调

window.onload = function() { 
    AFRAME.registerComponent('listener', { 
    tick: function() { 
     console.log("TICK IS CALLED"); 
    } 
    }); 
    addMaze(); 
}; 

和场景是这样的:

<body> 
    <a-scene physics id="a"> 
<a-entity position="33 0 -33" rotation="0 180 0" id="camera" camera="userHeight: 1.6" kinematic-body universal-controls listener> 
</a-entity> 

<!-- walls --> 
<a-box color="#abc" static-body position="-35 0 0" width="0.001" height="6" depth="70"></a-box> 
<a-box color="#abc" static-body position="35 0 0" width="0.001" height="6" depth="70"></a-box> 

<!-- Lighting --> 
<a-light type="ambient" color="#bbb"></a-light> 
<a-light color="#ccc" position="0 30 0" distance="100" intensity="0.4" type="point"></a-light> 
<a-light color="#ccc" position="3 10 -10" distance="50" intensity="0.4" type="point"></a-light> 

</a-scene> 
</body> 

当移动鼠标,回调不会被调用。我怎样才能确保它被正确调用?

回答

1

组件应该在发生任何事情之前注册。

<head> 
    <script> 
    AFRAME.registerComponent('listener', {...}); 
    </script> 
</head> 
<body> 
    <a-scene> 
    <!-- ... --> 
    </a-scene> 
</body>