【发布时间】:2014-11-01 23:24:42
【问题描述】:
我想在进入和离开全屏时调整画布的大小。我正在使用three.js 及其THREE.WebGLRenderer。
使用下面的代码我可以做到这一点,但它设置了窗口的尺寸“一次迭代” - 这意味着当我进入全屏时它设置较小的高度(但底部)然后我离开全屏它过度拉伸它在垂直维度上。
代码:
var width = window.innerWidth,
height = window.innerHeight;
var renderer = new THREE.WebGLRenderer();
renderer.setSize(width, height);
function toggleFullscreen(){
var docElm = document.documentElement;
if(!document.fullscreen){
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
}
else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
}
else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
}
else if (docElm.msRequestFullscreen) {
docElm.msRequestFullscreen();
}
document.fullscreen = true;
}
else{
if (document.exitFullscreen) {
document.exitFullscreen();
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
document.fullscreen = false;
}
renderer.setSize(window.innerWidth, window.innerHeight);
}
...
<body>
<div onclick="toggleFullscreen()" id="button">Fullscreen</button>
</body>
【问题讨论】:
标签: javascript html canvas three.js