AFrame场景重装方法

时间:2019-05-14 21:44:00

标签: aframe

我正在尝试在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 :(得分:0)

该方法已删除了一段时间,谢谢,我刚刚推送了一个更改以将其从文档中删除。

您可以执行window.location.reload()

否则,您可以只还原任何需要手动还原的内容(.setAttribute,删除组件)。如果aframe-state-component比较复杂,又不想重新加载页面,则也可以提供帮助。

答案 1 :(得分:0)

我找到了解决问题的方法,我的机器人具有dynamic-body组件,因此我可以将robot.body.quaternion.set与robot.body.initQuaternion x,y和z用作输入参数并重新加载机器人。

我知道不是重新加载了整个场景,但是对于此特定问题来说效果很好。

谢谢@ngokevin的回答