Ich erstelle ein 3D-Multiplayer-Spiel mit Three.js, bei dem Spieler verschiedenen existierenden Spielen beitreten können. Sobald auf "Wiedergabe" geklickt wird, wird der Renderer an die Seite und die Vollbilder angehängt. Das funktioniert gut, aber das Problem ist, dass, wenn ich den Vollbildmodus verlasse, er immer noch angehängt bleibt. Ich möchte es entfernen, aber ich weiß nicht wann!Wie erkennt man, wenn eine Seite den Vollbildmodus beendet?
Also, im Grunde bin ich auf der Suche nach einem Ereignis, das sagt "dieses Element beendet Fullscreen".
Dies ist, wie ich den Renderer auf die Seite anhängen:
container = document.getElementById('container');
document.body.appendChild(container);
var renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(WIDTH, HEIGHT);
container.appendChild(renderer.domElement);
Dies, wenn, wie ich es Vollbild:
THREEx.FullScreen.request(container);
renderer.setSize(screen.width, screen.height);
Auch ist es eine Möglichkeit, dass lästige Kopf zu stoppen geschaltet wird, wenn jemand zeigt seine Maus an den Anfang der Seite? Und ich glaube, ich kann einfach verhindern, dass es in Firefox und Chrome mit preventDefault
funktioniert (in Vollbildmodus).
Und weiß auch jemand warum ist Firefox so viel langsamer als Chrome in 3D-Rendering? Ich meine, ich benutze WebGL, das bedeutet, dass die GPU verwendet wird!
EDIT:
Die "fullscreenchange" Ereignis tatsächlich ausgelöst wird, aber es verschiedene Namen unter verschiedenen Browsern hat. In Chrome beispielsweise heißt es "webkitfullscreenchange" und in Firefox "mozfullscreenchange".
Sie können einen Listener für die Seitengrößenänderung hinzufügen, nachdem Sie den Vollbildmodus aktiviert haben. –
mögliches Duplikat von [So erkennen Sie, ob der Benutzer den Vollbildmodus im Browser aktiviert hat] (http://stackoverflow.com/questions/5617963/how-to-detect-if-user-has-enabled-full-screen-in- Browser) –