AFrame метод перезагрузки сцены - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь перезагрузить сцену в AFrame, у меня есть сцена с роботом, и мне нужно вернуться в исходное состояние сцены, когда пользователи нажимают кнопку.

То, что я уже пробовал, это:

var sceneElement = document.querySelector("a-scene");
  sceneElement.reload();

И

location.reload()

Первый вызывает ошибку в консоли браузера, показывая, что метод reload() не является функцией, но документация по AFrame поддерживает его. Я не знаю, правильно ли я использую эту функцию.

Uncaught TypeError: sceneElement.reload is not a function
    at HTMLDocument.eval (websim.js:64)
    at HTMLButtonElement.eval (editor.js:23)
    at HTMLButtonElement.dispatch (jquery.js:4953)
    at HTMLButtonElement.elemData.handle (jquery.js:4758)

Последний код снизу перезагружает всю страницу, и это не то, что мне нужно.

Спасибо! :)

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Я нашел решение своей проблемы, мой робот содержит компонент dynamic-body, поэтому я могу использовать robot.body.quaternion.set с robot.body.initQuaternion x, y и z в качестве входных параметров и перезагрузить робота.

Я знаю, что не полная сцена перезагружена, но она отлично работает для этой конкретной проблемы.

Спасибо @ngokevin за ваши ответы

0 голосов
/ 16 мая 2019

Этот метод был удален некоторое время назад, я просто внес изменение, чтобы удалить его из документов, спасибо.

Вы можете сделать window.location.reload().

В противном случае вы можете просто вернуть все, что вам нужно, вручную (.setAttribute s, удаление компонентов). aframe-state-component также может помочь, если он более сложный и вам не нужна перезагрузка страницы.

...