首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >刷新dat.gui变量

刷新dat.gui变量
EN

Stack Overflow用户
提问于 2016-10-31 12:07:38
回答 1查看 1.4K关注 0票数 2

这是dat.gui接口中的下拉列表。一旦您单击任何数字,jumpSwitcher将是您选择的任何数字。我试图根据用户为Starsystem选择的内容替换与其特定编号相关的每个列表。

在默认情况下,solPlanets= ['Ilos', 'Tuchanka', 'Illium', 'Palaven']显示“水星”、“金星”、“地球”、“火星”、“木星”、“土星”、“天王星”、“海王星”,因为默认情况是jumpSwitcher = 1。

问题是,无论solPlanets= ['Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']是2,列表都会显示为jumpSwitcher。

如果jumpSwitcher为2,则通过放置警告消息来确认这一点,并弹出警报,但列表不会更改。这可能与dat.gui不更新的类似问题有关。我试过听()方法,因为它是给出的主要答案,但它对我没有用。

我用它做了一个小提琴

PS:我以前问过这个问题,但现在我意识到它很可能与dat.gui有关,而不是刷新值,而不是javascript。所以我删除了这个问题,因为它接触到了一个错误的观众,而且我没有为它做一个小提琴。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-31 18:20:22

你必须重新创建行星列表的控制器。

我修改了你的小提琴手例子这里。主要内容

代码语言:javascript
复制
function updatePlanets(id) {
    var controller = gui.__controllers[2];
    controller.remove();
    gui.add(data, 'Planets', planets[id]).onChange(doSomeStuff);

    //back to 0 element
    data.Planets = 0;
    gui.__controllers[2].updateDisplay();
}

而且,当我将DAT.GUI的版本更改为0.6.1时,它也开始工作了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40341872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档