【发布时间】:2013-04-25 14:54:26
【问题描述】:
我发现这个函数可以删除一个 gui 元素,但我认为它已经过时了。到目前为止,我还没有找到其他知道如何删除 gui 任何部分的人,无论是整个 dat.GUI() 还是只是添加到 dat.GUI() 的元素。第一个可能足以满足我的需要(只需将 dat.GUI() 一起删除),但任何一个都会非常有帮助!
应该删除一个 dat.GUI()
gui = new dat.GUI();
...
removeGui(gui);
function removeGui(gui, parent)
{
if(!parent)
{
parent = dat.GUI.autoPlaceContainer;
}
parent.removeChild(gui.domElement);
}
但返回错误:无法调用未定义的方法“removeChild”,所以我猜测 autoPlaceContainer 是错误的。
这个函数的原作者留下了这些注释:
其中参数 gui 表示您要删除的 DAT.GUI,parent 是父容器,如果在实例化 DAT.GUI 时未指定 domElement,则无需传递父容器。
【问题讨论】:
-
哇!所以我浏览了所有的 dat.GUI 源代码并找到了一个 destroy() 函数,所以我尝试了它并且它工作了......从上面的例子中你所要做的就是 gui.destroy();
-
我刚刚尝试使用
gui.destroy(),但它给了我一个错误:destroy is not a function。你能准确地发布你在答案中所做的事情吗?
标签: user-interface three.js dat.gui