如何阻止A帧渲染?

时间:2018-01-29 09:10:37

标签: aframe

我阅读了source关于负责渲染场景的场景实体,但我没有找到任何关于停止渲染的事情。

问题:有没有办法停止渲染?

1 个答案:

答案 0 :(得分:0)

我不确定您是否可以完全停止渲染,但是您可以暂停特定实体或场景:

https://aframe.io/docs/0.7.0/core/entity.html#pause

这是一个演示,它等待场景加载,然后调用场景中的暂停功能,暂停场景中的所有组件和实体。

https://glitch.com/edit/#!/a-frame-pause-scene-on-load

<a-scene>
  <a-node id="waitOnMe"></a-node>
  <a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9" shadow>
    <a-animation attribute="rotation"
           dur="10000"
           fill="forwards"
           to="0 360 0"
           repeat="indefinite"></a-animation>
  </a-box>
  <a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E" shadow></a-sphere>
  <a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D" shadow></a-cylinder>
  <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4" shadow></a-plane>
  <a-sky color="#ECECEC"></a-sky>
</a-scene>

注意:我添加了一个a-node元素,以保证它在页面末尾捕获load事件。

然后js暂停:

<script>
  var scene = document.querySelector('a-scene')
  scene.addEventListener('loaded', function () { 
    scene.pause();
  });
  document.getElementById('waitOnMe').emit('loaded');
</script>

有关等待加载的相关信息,请访问: https://stackoverflow.com/a/47363072/8005106