我在Vue 3中使用A幀來顯示一個視頻球。
videosphere通過v-show有條件地顯示,也可以根據不同的變量或輸入(如滑塊)動態設置其高度/寬度。
我看到的有兩個問題。
場景/視頻球完全變白。這通常發生在場景被v-show='false '隱藏,然后屏幕被移動(例如,移動屏幕n拖動/過度滾動)或窗口被拖動到更窄時。當我回去用v-show='true '激活場景/視頻球時,它是空白/白色的。當我檢查html時,看起來videosphere可能是0x0,但是它計算的寬度/高度看起來是正確的。 我可以重置視圖,讓它再次工作
桌面:調整瀏覽器窗口大小|進入然后退出VR模式。 移動:旋轉到橫向模式,然后回到縱向。 在初始加載時,videosphere中的視頻要么太窄,要么太多。 這也通過相同的修復得到解決。
這些問題有可能的原因嗎? 有沒有什么方法可以讓場景/視頻球以編程方式重置?
我試過的不起作用的方法: A.重繪幀 觀察何時v-show=true 嘗試強制重畫 AFRAME.scenes[0]。render();
結果:無明顯影響。
B.偽造一個調整大小事件 window.dispatchEvent(新事件(' resize '));
結果:無明顯效果
C.嘗試調整窗口大小:
function resizeWindow() {
const originalWidth = window.innerWidth;
const originalHeight = window.innerHeight;
// Resize the window by 1 pixel
window.resizeBy(1, 0);
// Restore the original size after a short delay
setTimeout(() => {
window.resizeTo(originalWidth, originalHeight);
}, 100); // Adjust the delay time as needed
}
D.當v-show=true時,嘗試更改場景/視頻球的大小。 結果:將看到他們調整大小(當我添加一個延遲),但不會修復問題,仍將是空白或歪斜。
上一篇z指數的最小值和最大值?
下一篇vue后端登錄頁面