【发布时间】:2021-11-04 01:51:01
【问题描述】:
我目前正在尝试使用三地球仪来显示地球仪。在我尝试使用自己的画布之前,一切正常。似乎当我使用自己的画布并且画布在我的 html 树中的 javascript 文件之前,它无法正确显示并且我有一个空白画布。 这是初始化画布的代码:
renderer = new THREE.WebGLRenderer({ antialias: true, canvas: myCanvas });
renderer.setSize(width, height);
console.log(renderer.domElement)
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera();
camera.aspect = width/height;
camera.updateProjectionMatrix();
scene.add(new THREE.AmbientLight(0xbbbbbb));
scene.add(new THREE.DirectionalLight(0xffffff, 0.6));
camera.position.z = 300;
camera.position.x = 0;
camera.position.y = 0;
scene.add(camera);
scene.fog = new THREE.Fog(0x545ef3, 400, 2000);
// Add camera controls
controls = new THREE.TrackballControls(camera, renderer.domElement);
controls.minDistance = 101;
controls.rotateSpeed = 1;
controls.zoomSpeed = 0.3;
window.addEventListener("resize", onWindowResize, false);
window.addEventListener('click', onClick, false);
//document.body.appendChild(renderer.domElement);
如果我评论最后一行,画布会出现在树中,但它是空白的。如果我取消注释它会出现在正文的末尾,并且它是一个黑色画布(这里是预期的)。 有人可以知道为什么会这样吗?
【问题讨论】:
标签: javascript canvas three.js