3

我想从dat.gui的控件中隐藏一个文件夹。隐藏我的意思是隐藏,而不是关闭。我不想让用户看到文件夹名称,也不想让他在隐藏时打开它。我将根据其他选项的值以编程方式控制文件夹的可见性。

例如:

var visibility = {showFolder: true, other: 1}
var gui = new dat.GUI();
var folder = gui.addFolder('Name');
folder.add(visibility, 'other');

gui.add(visibility, 'showFolder').onChange(function (val) {
    // ???
});

我应该放什么而不是根据论点// ???改变可见性?folderval

是否dat.gui提供此功能?还是每次我想更改文件夹的可见性时,我是否坚持创建相同控件的多个版本并使用正确的元素创建一个新版本?

4

1 回答 1

0

我知道这有点晚了,但这就是我所做的:我在 dat.gui.js 中添加了以下代码,其中声明了 gui 的方法:

hide: function hide() {
    this.domElement.style.display = 'none';
},

show: function show() {
    this.domElement.style.display = '';
},

我希望这可以帮助那些像我一样寻找同样东西的人。例如,当我从 gui 更改参数时,我需要隐藏 gui 的文件夹,这是我使用它的方式:

controller.onChange(function(value) {
            if(value==true) guiSAO.hide();
            else guiSAO.show();
});
于 2017-06-20T12:54:28.093 回答