A-обнаружение кадра при загрузке сцены

#javascript #three.js #load #aframe #webvr

Вопрос:

У меня есть сцена, использующая A-frame, настроенная с несколькими ресурсами, для которых требуется экран загрузки перед входом в сцену. Что мне интересно, так это как я могу определить, зарегистрировав сообщение в консоли, когда мои ресурсы / сцена загружены? Код для базовой сцены:

 <html>
  <head>
    <script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
  </head>
  <body>
<script>
//When scene is loaded
console.log ("loaded");
</script>
    <a-scene>
      <a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
      <a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
      <a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
      <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
      <a-sky color="#ECECEC"></a-sky>
    </a-scene>
  </body>
</html>
 

Ответ №1:

Прослушайте это событие в элементе сцены:

https://aframe.io/docs/1.2.0/core/scene.html#events_loaded

Пример кода…

 <html>
  <head>
    <script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
    <script>
      AFRAME.registerComponent("log", {
        init: function () {
          this.el.addEventListener("loaded", () => {
            console.log ("loaded");
          });
        }
      });
    </script>
  </head>
  <body>

    <a-scene log>
      <a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
      <a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
      <a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
      <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
      <a-sky color="#ECECEC"></a-sky>
    </a-scene>
  </body>
</html>