2012-05-20 4 views
3

Je veux faire un jeu avec Three.js, mais comment le faire en plein écran? J'ai vu this article, et j'ai inclus THREEx dans mon code, mais quand je fais ceci: THREEx.FullScreen.request() rien ne se passe! Je regardais le code THREEx et changé comme celui-ci, aux fins de la mise au point:Comment faire pour afficher en plein écran Three.js?

THREEx.FullScreen.request = function(element) 
{ 
    element = element || document.body; 
    if(this._hasWebkitFullScreen){ 
     element.webkitRequestFullScreen(); 
     console.log("f"); 
    }else if(this._hasMozFullScreen){ 
     element.mozRequestFullScreen(); 
     console.log("g"); 
    }else{ 
     console.assert(false); 
    } 
} 

Ainsi, la valeur par défaut pour faire document.body plein écran et il imprime « f » dans la console. Mais rien! Il n'y a pas de messages d'erreur dans la console ou quoi que ce soit ... Et j'ai essayé son exemple de pool, ça fonctionne, donc je suis presque sûr que ce n'est pas la faute de mon ordinateur ...

+1

Quand appelez-vous? Je crois que vous êtes seulement autorisé à demander en réaction à l'entrée de l'utilisateur, comme l'événement 'keydown'. – pimvdb

+0

Vraiment? C'est étrange, je ne comprends pas ... Mais va le faire! – corazza

+0

Quand je l'écris comme ceci: 'document.addEventListener (" keydown ", THREEx.FullScreen.request);', j'obtiens une erreur que "l'assertion a échoué." – corazza

Répondre

5

Vous devez:

  1. Demande lorsque l'utilisateur le permet, par ex. au keydown. Je suppose que le raisonnement est le même que l'ouverture des popups. Une page Web basculant aléatoirement en plein écran est sans doute encore plus ennuyeuse que l'ouverture automatique des fenêtres contextuelles.
  2. Demande plein écran sur un élément, pas document.
  3. Appelez request avec this défini sur THREEx.FullScreen (appelez-le comme ci-dessous).

Alors .: par exemple

document.body.addEventListener("keydown", function() { 
    THREEx.FullScreen.request(); 
}, false); 
+0

Super, comme je l'ai dit, fonctionne parfaitement ... +1! – corazza

Questions connexes