【问题标题】:Exit Aframe full screen退出 Aframe 全屏
【发布时间】:2017-05-23 03:47:55
【问题描述】:

我有一个嵌入的 a-scene 元素,用户可以点击进入 Aframe 全屏模式。在特定事件上(用户导航到场景中的特定位置),我想触发全屏模式的自动退出。这相当于用户按 ESC 键,但以编程方式。我该怎么做?

这是我的场景代码:

...
<a-scene id="3d-view" embedded style="z-index: 9999;">
<a-entity position="33 0 -33" rotation="0 180 0" id="camera" camera="userHeight: 1.6" listener>
</a-entity>
...
<!-- Lighting -->
<a-light type="ambient" color="#bbb"></a-light>
<a-light color="#ccc" position="0 30 0" distance="100" intensity="0.4" type="point"></a-light>
<a-light color="#ccc" position="3 10 -10" distance="50" intensity="0.4" type="point"></a-light>
<a-entity id="a"></a-entity>
</a-scene>
...

这里是退出全屏的方法:

var obj3d = document.querySelector("#camera").object3D;
AFRAME.registerComponent('listener', {
    tick: function () {
        if(Math.abs(obj3d.position.x) < 35) {
            //HERE IT SHOULD EXIT FULL SCREEN IF WE ARE IN FULL SCREEN
        }
    }
});

【问题讨论】:

    标签: javascript aframe webvr


    【解决方案1】:

    this.el.sceneEl.exitVR()

    exitFullscreen();
    
       function exitFullscreen () {
      if (document.exitFullscreen) {
        document.exitFullscreen();
      } else if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
      } else if (document.webkitExitFullscreen) {
        document.webkitExitFullscreen();
      }
    }
    

    【讨论】:

    • 谢谢,但这并没有退出光标的焦点。所以当用户点击嵌入的场景时,她仍然必须按 Escape 才能返回光标。任何想法如何使用 UI 控件完全摆脱嵌入式场景?
    • 你用的是指针锁吗?你可以做document.exitPointerLock();
    • document.exitPointerLock();和 exitVR() 一起解决了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 2023-03-19
    • 2010-11-20
    • 1970-01-01
    • 2013-10-21
    • 2012-03-29
    相关资源
    最近更新 更多