我引用的是这篇文章:How can I add a loading effect before all assets are loaded?
我有一个click事件供用户输入体验,我想确保在用户单击时加载所有资产。
我有此代码,但“ OK LOADED”(确定已加载)从未出现在控制台中:
AFRAME.registerComponent('loadscene', {
init: function () {
this.el.addEventListener("click", (e)=> {
document.querySelector('a-assets').addEventListener('loaded', function () {console.log("OK LOADED");
});
document.getElementById('sts-live').setAttribute('visible', true);
});
}
});
谢谢!
答案 0 :(得分:1)
资产在任何组件或场景运行之前尝试加载。只需使组件切换可见性即可,例如在play
上。在您的示例中,应删除事件侦听器。
双重事件侦听器在JS中通常很奇怪。也就是说,您要等待点击,只有在点击之后才等待资产...它们可以分开。