我已经阅读了Three.js API,仔细阅读StackOverflow上的问题,我使用firebug和chrome的调试器调试了代码,我已经删除了所有可能的内容,但是我仍然遇到这个令人恼火的全屏错误,渲染器视图端口大于我的屏幕,从而导致滚动条出现.这是一个可见的错误,不会影响渲染或其他操作,我只是试图控制视图端口的大小,以便它匹配可用的屏幕空间而不会出现滚动条.
我在Windows 7上使用谷歌Chrome 18,我刚刚开始使用Three.js API,但我过去使用过像OpenGL这样的东西,所以图形API并不陌生.
当我尝试运行此代码时(这是github主页上显示的默认示例):
var camera, scene, renderer,
geometry, material, mesh;
init();
animate();
function init() {
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
camera.position.z = 1000;
scene.add( camera );
geometry = new THREE.CubeGeometry( 200, 200, 200 );
material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
renderer = new THREE.CanvasRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement ); …Run Code Online (Sandbox Code Playgroud) 我想用Three.js制作一款游戏,但我该如何制作全屏?我看到了这篇文章,我在我的代码中包含了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);
}
}
Run Code Online (Sandbox Code Playgroud)
因此,这默认为使document.body全屏,并在控制台中打印"f".但是 - 没什么!控制台或其他任何东西都没有错误消息......我已经尝试了他的游泳池示例,它可以工作,所以我很确定这不是我的电脑的错...