刷新dat.gui变量

时间:2016-10-31 12:07:38

标签: javascript three.js dat.gui

这是dat.gui界面中的下拉列表。一旦你点击任何数字,jumpSwitcher将是你选择的任何数字。我正在尝试根据用户为Starsystem选择的内容替换与其特定数字相关的每个列表。

enter image description here

所以当您点击2时,solPlanets= ['Ilos', 'Tuchanka', 'Illium', 'Palaven']就会显示在列表2中。默认情况下,solPlanets显示[' Mercury',' Venus',' Earth& #39;,'火星','木星','土星','天王星'海王星']因为默认是jumpSwitcher = 1.

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

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

我已经制作了fiddle

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

1 个答案:

答案 0 :(得分:2)

您必须为行星列表重新创建控制器。

我修改了你的jsfiddle示例here

中的主要内容
.add(elem)

此外,当我将DAT.GUI的版本更改为0.6.1

时,它开始工作