我想用Three.js制作一款游戏,但如何全屏制作呢?我看到了this article,我在我的代码中包含了THREEx,但当我这样做时: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”。但是 - 没什么!控制台中没有任何错误消息或任何东西......我已经尝试过他的游泳池示例,它可以工作,所以我很确定这不是我的电脑的错...
答案 0 :(得分:5)
你必须:
keydown
。我猜这个推理与打开弹出窗口相同。一个自动随意切换全屏的网页可能比弹出自动打开更烦人。document
。request
设置为this
的情况下致电THREEx.FullScreen
(所以请在下面调用)。所以例如:
document.body.addEventListener("keydown", function() {
THREEx.FullScreen.request();
}, false);