我想有一个快捷方式:
gui.add({zoom: 5}, 'zoom', 10, 200).name('Zoom').onChange(onChange)
类似的东西:
gui.add(sliderType, name, min, max, onChange)
处理非常常见的情况,我没有任何对象来构建滑块。相反,我想从GUI中滑块的值构建新对象。
例如,在绘图应用程序中,用户需要选择要绘制/添加的对象的参数,然后他将单击以添加它,最后他想要修改它以更改滑块。这意味着没有对象来构建滑块,但是在onChange事件上GUI将修改所有选定的对象。
处理此问题的最佳方法是什么?
答案 0 :(得分:1)
只需使用JSON对象来创建和修改对象。
您并不总是需要与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
}