dat.gui删除并添加侦听器

时间:2019-10-08 11:01:24

标签: dat.gui

让我们说我的场景中有2个对象,有时我希望听者在第一个对象上,有时希望在第二个对象上。所以我做到了:

    gui = new GUI( { width: 330 } );
    box1 = gui.addFolder('ObjectScale');
    item1 = box1.add(myObject.scale, 'x', 0, 3).name('Width').listen();

现在,我要在第二个对象上使用侦听器,因此变量“ myobject”更改为“ myobject2”。 我尝试过:

    box1.remove(item1);

此处显示此错误“ HierarchyRequestError”。

然后我只想这样做:

    item1 = box1.add(myObject2.scale, 'x', 0, 3).name('Width').listen();

问题:为什么会出现错误,我该如何取消侦听器并使其成为第二个对象?我如何才能删除该项目? (我也需要这样做)

1 个答案:

答案 0 :(得分:0)

我设法做到了这一点。

    gui.removeFolder(box1);
    box1 = gui.addFolder('ObjectScale');

问题:将删除所有侦听器。对我来说很好。更多代码,但很好。