Javascript 隐藏嵌入的一帧场景
我想以编程方式隐藏和显示嵌入的aframe场景。加载网站时,场景被隐藏,但我只能在这样的延迟下才能让它工作:Javascript 隐藏嵌入的一帧场景,javascript,aframe,webvr,Javascript,Aframe,Webvr,我想以编程方式隐藏和显示嵌入的aframe场景。加载网站时,场景被隐藏,但我只能在这样的延迟下才能让它工作: window.onload = function () { setTimeout(function() { document.getElementById("scene-page").setAttribute("hidden", ""); }, 500); } 如果不添加此延迟,即使再次将场景设置为“可见”,场景仍保持隐藏状态。具体而言,画布的大小似乎调整为0px: <canva
window.onload = function () {
setTimeout(function() { document.getElementById("scene-page").setAttribute("hidden", ""); }, 500);
}
如果不添加此延迟,即使再次将场景设置为“可见”,场景仍保持隐藏状态。具体而言,画布的大小似乎调整为0px:
<canvas class="a-canvas a-grab-cursor" data-aframe-canvas="true" width="0" height="0" style="width: 0px; height: 0px;"></canvas>
使其可见的唯一方法是调整浏览器窗口的大小,这似乎会调整画布的大小
有没有更好的方法可以在不延迟的情况下隐藏场景?从我看到的内容(如帖子,或者),如果在整个画布加载之前设置显示:无
,则画布
/渲染器
/摄影机
属性将无法正确设置
我试着等待a-scene
加载的/renderstart
事件、窗口。onload
和内部实体,但它似乎仍然扰乱了画布设置
调整窗口大小时,它工作的原因是,场景有一个用于调整大小的侦听器,该侦听器会相应地使用画布宽度更新所有这些内容。我不确定是否可以手动调用resize
查看->只需搜索这个。调整大小
,有3个点击,一个在a-scene
中
如果将空白的
放置在固定位置的a-frame画布前面,则将其从显示:无切换到块
,似乎更容易、更安全。活小提琴
场景启动并运行后,您可以随意切换其显示!活小提琴