我正在尝试在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)
下面的最后一个代码将重新加载整个页面,这不是我所需要的。
谢谢! :)
答案 0 :(得分:0)
该方法已删除了一段时间,谢谢,我刚刚推送了一个更改以将其从文档中删除。
您可以执行window.location.reload()
。
否则,您可以只还原任何需要手动还原的内容(.setAttribute
,删除组件)。如果aframe-state-component
比较复杂,又不想重新加载页面,则也可以提供帮助。
答案 1 :(得分:0)
我找到了解决问题的方法,我的机器人具有dynamic-body
组件,因此我可以将robot.body.quaternion.set
与robot.body.initQuaternion x,y和z用作输入参数并重新加载机器人。
我知道不是重新加载了整个场景,但是对于此特定问题来说效果很好。
谢谢@ngokevin的回答