2017-04-25 63 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>