dat.gui меняет значение сообщения при смене слайдера - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть пользовательский интерфейс dat.gui, в котором я хочу выполнить некоторые математические вычисления, используя значение одного ползункового ввода (numberOne), а затем показать результат в выводе сообщения (resultOne). Я не могу понять, как получить результат вычисления в поле сообщения dat.gui.

import * as Calc from './components/Calc.js';

function init() {
    let groupA = {
        valA1: 0,
        valA2: 10
    };

    let groupB = {
        valB1: 3,
        valB2: 5.6
    };

    let calc = Calc.SomeCalculations(groupA, groupB); // Invokes a function in another JS file.

    const controller = new function() {
        this.numberOne = 0;
        this.resultOne = calc.resultOne;
    }();

    const gui = new GUI( {width: 300 });
    const f1 = gui.addFolder('My inputs');
    f1.add(controller, 'numberOne', 0, 100).onChange( function() {

    // What goes here?

    } );
    f1.open();
    const f2 = gui.addFolder('My results');
    f2.add(controller, 'resultOne');
    f2.open();
    gui.open();
}

1 Ответ

0 голосов
/ 01 октября 2019

Не важно, я только что понял, что мне нужно использовать .setValue ()

const gui = new GUI( {width: 300 });
const f1 = gui.addFolder('My inputs');
var gui_numberOne = f1.add(controller, 'numberOne', 0, 100);
f1.open();
const f2 = gui.addFolder('My results');
var gui_resultOne = f2.add(controller, 'resultOne');

gui_numberOne.onChange( function() {
   gui_resultOne.setValue( Calc.SomeCalculations(groupA, groupB).myResult );
} );

f2.open();
gui.open();
...