2017-05-22 3 views
0

Ich habe ein eingebettetes a-Szene-Element, wo Benutzer klicken können, um den Vollbildmodus Aframe einzugeben. Bei einem bestimmten Ereignis (Benutzer, der zu einer bestimmten Position in einer Szene navigiert wurde) möchte ich einen automatischen Beenden des Vollbildmodus auslösen. Dies entspricht dem Drücken der ESC-Taste durch den Benutzer, jedoch programmatisch. Wie kann ich das machen?Beenden Vollbild Vollbild

Hier ist meine a-Szene Code:

... 
<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> 
... 

Hier wird das Verfahren zum Verlassen Vollbild ist:

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 
     } 
    } 
}); 

Antwort

2

this.el.sceneEl.exitVR()

oder

exitFullscreen(); 

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

Dank dieser verlässt das foc nicht obwohl wir den Cursor haben. Wenn der Benutzer also auf die eingebettete Szene klickt, muss er noch auf Escape drücken, um den Cursor zurück zu bekommen. irgendwelche Ideen, wie man mit den UI-Kontrollen aus der eingebetteten Szene herauskommt? – bear

+0

Verwenden Sie die Zeigersperre? Sie können 'document.exitPointerLock();' – ngokevin

+0

document.exitPointerLock(); und exitVR() löste es zusammen – bear