1
我有一個dat.gui實例與一些控制器。我可以通過gui.__controllers
得到它們的列表,但我沒有看到它們顯示其類型的任何屬性(下拉,滑塊,顏色選擇器等)。如何獲取dat.gui控制器類型?
有沒有什麼辦法讓他們的類型,也許通過對象?
我有一個dat.gui實例與一些控制器。我可以通過gui.__controllers
得到它們的列表,但我沒有看到它們顯示其類型的任何屬性(下拉,滑塊,顏色選擇器等)。如何獲取dat.gui控制器類型?
有沒有什麼辦法讓他們的類型,也許通過對象?
你是對的,似乎沒有一個類型的屬性,指出控制器的類型。然而,你顯然已經知道在dat.GUI屬性對象中定義它們的類型(即布爾值是一個複選框等)。
你可以儘管確定控制器的類型,可以在下面的codepen可以看出:
http://codepen.io/BenSmith/pen/rHpzC
見調試控制檯控制器類型列表中,因爲它們出現在屏幕上。
的代碼,以確定所述類型的關鍵部分是:
for (var i in gui.__controllers) {
var controller = gui.__controllers[i];
switch(controller.__li.className){
case 'cr string':
if (controller.__select != null) {
console.log('dropdown');
}
else {
console.log('input');
}
break;
case 'cr number has-slider':
console.log('slider');
break;
case 'cr boolean':
console.log('checkbox');
break;
case 'cr object color':
console.log('color picker');
break;
default:
console.log('Unrecognized controller!')
}
}