Javascript three.js通过GUI打开和关闭对象可见性

Javascript three.js通过GUI打开和关闭对象可见性,javascript,three.js,Javascript,Three.js,我希望通过单击gui上的按钮来打开/关闭场景中的对象。 我有以下功能: g3white.traverse(function(child){child.visible = true;}); g3black.traverse(function(child){child.visible = false;}); 此函数成功地手动隐藏/显示每个对象 但是,我想将其设置为onChange函数,通过单击按钮来显示黑色的,隐藏白色的(反之亦然) 感谢您的帮助。 谢谢。您可以使用 我已经删除了java标记,因为

我希望通过单击gui上的按钮来打开/关闭场景中的对象。 我有以下功能:

g3white.traverse(function(child){child.visible = true;});
g3black.traverse(function(child){child.visible = false;});
此函数成功地手动隐藏/显示每个对象

但是,我想将其设置为onChange函数,通过单击按钮来显示黑色的,隐藏白色的(反之亦然)

感谢您的帮助。 谢谢。

您可以使用


我已经删除了
java
标记,因为它看起来根本不是您在使用java。对此我投了反对票,因为这个问题根本没有显示作者的任何努力。非常感谢!事实上,我尝试过同样的函数以及onChange,但都不起作用。我继续得到以下错误:未捕获类型错误:未定义不是函数更新动画以及:未捕获类型错误:无法读取未定义index3.html:180 controls.toggleObjects index3.html:180 b.extend.fire dat.gui.min.js:24(匿名函数)dat.gui.min.js:23 f.fakeEvent dat.gui.min.js:9的属性“遍历”(匿名函数)非常感谢您的帮助听起来像是可变范围的问题;请确保您调用的对象
animate
,以及您的
g3white
/
g3black
对象在您调用它们的范围内定义良好。
var gui = new dat.GUI();

var controls = {

  toggleObjects: function(){
    g3white.traverse(function(child){child.visible = true;});
    g3black.traverse(function(child){child.visible = false;});
  }

};

gui.add(controls, 'toggleObjects');