dat.GUI创建多个具有相同名称的按钮

用户名

我尝试使用dat.GUI创建全部具有相同名称“ ShowCoord”的多个按钮,这可能吗?我目前所拥有的是:

    for (i = 0; i < overlay.numElements; i ++)
    {
        var length = overlay.elementNumVertices[i];
        var subObj = {
            'name' : overlay.elementNames[i],
            'index' : i,
            'numVertices': overlay.elementNumVertices[i],
            "ShowCoord" : function(){
                console.log("i is " + subObj['index']);
                var verts = overlay.elementVertices[i];
                for(var j = 0; j < subObj['numVertices']; j ++)
                {
                    console.log("The coordinates are " + verts[3*j] + ", "+ verts[3*j+1] +", "+verts[3*j+2]);
                }
            }

        };
        subObjArray.push(subObj);
    }

    for(i = 0; i < subObjArray.length; i ++)
    {
        var currObj = subObjArray[i];
        var subGui = gui.addFolder(currObj['name']);
        subGui.add(currObj, 'numVertices');
        subGui.add(currObj, "ShowCoord");
    }

现在,我显示了正确的currObj ['name']和currObj ['numVertices']。但是所有“ ShowCoord”按钮仅包含最后一个subObj的信息(因此,即使我单击其他按钮,console.log(“ i为” + subObj ['index'])也会每次打印出148)。我该如何运作?非常感谢!

皮特·达利多(Piotr Dajlido)

尝试移至的subGui外部for loop并修改代码,以免重新分配subGuivarialbe。

var subGui = new dat.GUI();
for(i = 0; i < subObjArray.length; i ++)
{
    var currObj = subObjArray[i];
    subGui.addFolder(currObj['name']);// <--- work on this line
    subGui.add(currObj, 'numVertices');
    subGui.add(currObj, "ShowCoord");
}

否则,它将始终使用的最后一个迭代元素进行重新定义。 for loop


注意:这只是一个提示,我无法从您的代码中得出更多结论。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

刷新dat.gui变量

来自分类Dev

在dat.gui中禁用按钮的方法?

来自分类Dev

禁用dat.gui中的按钮的方法?

来自分类Dev

多个具有相同名称的单选按钮组?

来自分类Dev

在Linux中创建多个具有相同名称的文件

来自分类Dev

在Linux中创建具有相同名称的多个文件

来自分类Dev

是否可以创建多个具有相同名称的变量?

来自分类Dev

在tkinter中创建多个具有不同名称的按钮

来自分类Dev

dat.GUI单击调整大小

来自分类Dev

禁用dat.GUI文件夹

来自分类Dev

Javascript从dat.GUI获取值

来自分类Dev

dat.GUI 和复杂变量

来自分类Dev

如何从随便的.dat文件创建Pandas df?

来自分类Dev

如何对多个 .dat 文件进行相同的计算

来自分类Dev

具有相同名称的多个参数

来自分类Dev

具有相同名称的多个div

来自分类Dev

具有相同名称的多个输入

来自分类Dev

dat.GUI和Three.js:未定义dat

来自分类Dev

具有多个具有相同名称的字段的 POST

来自分类Dev

Polymer Paper-Radio-Group-如何使用多个具有相同名称的单选按钮

来自分类Dev

根据所选对象更新dat.gui

来自分类Dev

保存dat.gui预设以动态添加控件吗?

来自分类Dev

dat.gui是否从外部JSON加载设置?

来自分类Dev

OrbitControls和dat.gui文本不起作用

来自分类Dev

如何在dat.gui中添加文件夹?

来自分类Dev

如何更改dat.gui下拉菜单的位置?

来自分类Dev

使用dat.gui保存参数似乎已损坏?

来自分类Dev

如何在dat.gui中添加工具提示

来自分类Dev

Three.js:无法在dat.GUI中更改值