gpt4 book ai didi

javascript - 如何更改 dat.GUI 上的 slider 值以及如何重置 dat.GUI

转载 作者:行者123 更新时间:2023-11-29 15:24:11 25 4
gpt4 key购买 nike

1) 我正在开发一个有 2 个 slider 的 dat.GUI 应用程序。我想在另一个更改时重置一个。例如:

 var FizzyText = function() {
this.slider1 = 0;
this.slider2 = 0;
};
var gui = new dat.GUI();
var text = new FizzyText();
var slider1 = gui.add(text, 'slider1', 0, 5);
var slider2 = gui.add(text, 'slider2', 0, 5);

slider1.onChange(function(value){
console.log(value);
text.slider2 = 0; // this doesn't work
});

slider2.onChange(function(value){
console.log(value);
text.slider1 = 0; // this doesn't work
});

这只是一个示例,但重置 slider 或将其设置为默认值(在 FizzyText 中)非常重要。

上面的例子来自https://workshop.chromeexperiments.com/examples/gui/#9--Updating-the-Display-Automatically我无法自动更新 slider 的地方

2) 我想添加一个重置按钮,其中的所有 slider 都将被重置。但是有了之前的答案,我就可以重置所有值

最佳答案

我找到了答案:gui.__controllers 是 Controller 数组。所以我只是添加了类似的内容:

var FizzyText = function () {
this.slider1 = 0;
this.slider2 = 0;
};
var gui = new dat.GUI();
var text = new FizzyText();
var slider1 = gui.add(text, 'slider1', 0, 5);
var slider2 = gui.add(text, 'slider2', 0, 5);

/* Here is the update */
var resetSliders = function (name) {
for (var i = 0; i < gui.__controllers.length; i++) {
if (!gui.__controllers.property == name)
gui.__controllers[i].setValue(0);
}
};

slider1.onChange(function (value) {
console.log(value);
resetSliders('slider1');
});

slider2.onChange(function (value) {
console.log(value);
resetSliders('slider2');
});

关于javascript - 如何更改 dat.GUI 上的 slider 值以及如何重置 dat.GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41154519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com