Javascript three.js在单击时切换对象

Javascript three.js在单击时切换对象,javascript,three.js,Javascript,Three.js,我想通过单击按钮隐藏/显示对象。i、 e.单击GUI上的按钮,obj1隐藏,obj2显示。我被告知要用 object.traverse(object.visible=false); 但它似乎不起作用 下面是我渲染对象的方式 var gal = jsonLoader.load( "model/galmodel.js", addModelToScene ) ; gal.traverse(gal.visible = false); 有人能给我指出正确的方向吗?以及单击时隐藏/显示对象的命令 非常

我想通过单击按钮隐藏/显示对象。i、 e.单击GUI上的按钮,obj1隐藏,obj2显示。我被告知要用

 object.traverse(object.visible=false);
但它似乎不起作用

下面是我渲染对象的方式

var gal = jsonLoader.load( "model/galmodel.js", addModelToScene ) ;
gal.traverse(gal.visible = false);
有人能给我指出正确的方向吗?以及单击时隐藏/显示对象的命令


非常感谢。

上次我检查时,遍历函数是回调函数。 所以你需要这样做:

gal.traverse(function(child){
   child.visible = false;
});

谢谢你的回复。我也试过了,但我只是得到了一个错误:uncaughttypeerror:无法读取未定义的属性'traverse'。当然,您必须确保设置了“gal”变量。您应该检查three.js主页上的加载程序示例,看看如何正确地完成加载。我记得,load函数也是基于回调的,所以您可能需要在回调函数addmodeltosene中设置“gal”?不确定jsonloader.load函数本身返回了什么,再次感谢回复。我的变量“gal”定义为:var gal=jsonLoader.load(“model/galmodel.js”,addmodeltosene);它也在addModeltoScene中设置为:函数addModeltoScene(gal){}等。对象正确渲染,我只希望能够通过任何函数显示/隐藏它。遍历函数继续告诉我它是未定义的。再次感谢你,我明白了。只需将该函数添加到该对象的addModeltoScene函数中即可。非常感谢你。现在,我只需要能够隐藏这个对象,并显示另一个按钮按下。有什么想法吗?