9

我想获取由three.js自动创建的canvas元素的id。

或者,我会同样高兴(也许更高兴)能够在构造过程中传递预先存在的画布元素 id。

经过研究,我尝试了这个:

renderer = new THREE.WebGLRenderer( { canvas: my_canvas } );

没有成功(它来自一个相当古老的版本,但希望它能工作)。也许自 2 年前以来某些参数语法发生了变化?

(my_canvas 是画布的 id,也尝试传递上下文,没有运气)

最后我尝试了:

document.getElementsByTagName('canvas');

它什么也没返回...这是一个令人困惑的问题,也是导致我在这里发帖的众所周知的稻草。

任何见解表示赞赏,谢谢!(我现在有投票权)

4

2 回答 2

26
var canvas = document.getElementById("canvasID");
renderer = new THREE.WebGLRenderer({ canvas: canvas });
于 2014-02-08T13:18:27.743 回答
4

如果您查看three.js/src/renderers/WebGLRenderer.js(位于文件的最顶部)中的最新版本(r57),您可以看到您实际上可以将画布参数传递给渲染器。如果你没有通过一个,那么就会为你创建一个。您可能需要发布一些不起作用的代码或更好的 jsfiddle,以便我们查看问题。

于 2013-04-05T18:28:25.170 回答