Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使Three.js全屏显示?_Javascript_Html_3d_Fullscreen_Three.js - Fatal编程技术网

Javascript 如何使Three.js全屏显示?

Javascript 如何使Three.js全屏显示?,javascript,html,3d,fullscreen,three.js,Javascript,Html,3d,Fullscreen,Three.js,我想用Three.js制作一个游戏,但如何使它全屏显示?我看到了,我在代码中包含了3X,但当我这样做时:THREEx.FullScreen.request()什么都没有发生!为了调试,我查看了THREEx代码,并将其更改为: THREEx.FullScreen.request = function(element) { element = element || document.body; if( this._hasWebkitFullScreen ){

我想用Three.js制作一个游戏,但如何使它全屏显示?我看到了,我在代码中包含了3X,但当我这样做时:
THREEx.FullScreen.request()
什么都没有发生!为了调试,我查看了THREEx代码,并将其更改为:

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);
    }
}
因此,这默认为使document.body全屏显示,并在控制台中打印“f”。但是——什么都没有!控制台中没有错误消息或任何内容。。。我试过他的泳池示例,效果不错,所以我很确定这不是我的电脑的错…

你必须:

  • 当用户允许时请求,例如,在
    键下
    。我想原因和打开弹出窗口是一样的。一个随意切换全屏的网页可以说比自动打开的弹出窗口更烦人
  • 请求元素全屏显示,而不是
    文档
  • 调用
    request
    ,将
    this
    设置为
    THREEx.FullScreen
    (如下所示)
  • 例如:

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

    你什么时候叫它?我相信您只允许请求作为对用户输入的反应,例如
    按键事件。真的吗?真奇怪,我不明白。。。但我会的!当我这样写的时候:
    document.addEventListener(“keydown”,THREEx.FullScreen.request),我得到一个错误“断言失败”。您不能请求文档全屏显示,因为它不是元素。请尝试
    document.body
    。如果直接传递函数,函数将使用
    ,它将(不正确)成为文档。尝试
    function(){THREEx.FullScreen.request();}
    (不同)。