Как загрузить новую сцену в A-Frame?

Я использую A-Frame (библиотека JavaScript). Я хотел бы загрузить новую сцену, когда пользователь нажимает на определенный компонент в текущей сцене. Как я могу этого добиться?


person Bob.B    schedule 03.08.2016    source источник


Ответы (1)


Ознакомьтесь с компонентом шаблона A-Frame. В частности, Пример обмена.

Вы можете определить свои отдельные сцены в тегах сценария или в отдельных файлах. Вот пример шаблона тега скрипта:

<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>

Вот пример компонента для программного изменения шаблона src через интервал: https://github.com/ngokevin/kframe/blob/master/components/template/examples/swapping/components/template-looper.js

В основном это будет el.setAttribute('template', 'src', '#sphere');

Для других компонентов, которые могут помочь изменить src:

  • Компонент набора событий может помочь прослушать ваш центр мыши и изменить src в ответ.
  • Компонент шаблона также поставляется с template-set компонентом, который изменяет шаблон при событии.
person ngokevin    schedule 03.08.2016
comment
Могу ли я изменить src шаблона (из ngokevin / aframe-template-component) с помощью aframe-event-set-component - person Bob.B; 23.08.2016
comment
Да, я полагаю, ты тоже сможешь. Предоставленный компонент template-set также может изменять шаблоны в ответ на события. - person ngokevin; 23.08.2016