如何在 A-Frame 中加载新场景?

How to load a new scene in A-Frame?

我正在使用 A-Frame(JavaScript 库)。当用户点击当前场景中的某个组件时,我想加载一个新场景。我怎样才能做到这一点?

查看 A-Frame Template Component. Notably the Swapping Example

您可以在脚本标签或单独的文件中定义单独的场景。这是一个带有脚本标签模板的示例:

<a-scene>
  <!-- Templates. -->
  <a-assets>
    <script id="scene1" type="text/html">
      <a-box></a-box>
    </script>
    <script id="scene2" type="text/html">
      <a-sphere></a-sphere>
    </script>
  </a-assets>

  <a-entity template="src: #box"></a-entity>
</a-scene>

然后当你想改变你的场景时,改变 src:

<a-entity template="src: #sphere"></a-entity>

这是一个示例组件,用于按时间间隔以编程方式更改模板 srchttps://github.com/ngokevin/kframe/blob/master/components/template/examples/swapping/components/template-looper.js

主要是el.setAttribute('template', 'src', '#sphere');

对于可以帮助更改 src 的其他组件:

  • Event Set Component 可以帮助监听您的鼠标输入并更改 src 作为响应。
  • 模板组件还附带 template-set 组件,该组件将根据事件更改模板。