1

我想有一个快捷方式:

gui.add({zoom: 5}, 'zoom', 10, 200).name('Zoom').onChange(onChange)

就像是:

gui.add(sliderType, name, min, max, onChange)

处理我没有任何对象来构建滑块的非常常见的情况。相反,我想根据 GUI 中滑块的值构建新对象。

例如,在绘图应用程序中,用户需要选择要绘制/添加的对象的参数,然后单击添加,最后要通过更改滑块来修改。这意味着没有对象来构建滑块,但所有选定的对象都将在 onChange 事件上由 GUI 修改。

处理这个问题的最佳方法是什么?

4

1 回答 1

2

只需使用 JS 对象 (POJO) 作为创建和修改对象之间的过渡。

您并不总是需要与 GUI 中的对象和应用程序中的对象属性保持直接的 1-1 关系。

var objectProps = {x:0, y:0, radius:50};

GUI.add(objectProps, 'x', ...).onChange(changeSelected); //add sliders
...

function changeSelected() {
  //loop objects
  if (object.selected) //change props based on current values of objectProps
}

function createObject() {
  //use current values of objectProps as default props for new object
}
于 2014-09-14T17:50:32.800 回答