我今晚来找你是因为我对 three.js 有疑问。我正在做一个教程,但最后,我无法在列表中选择形状或网格,尽管我设置了视频中所示的控件(在此处)这是我们正在谈论的一段代码关于 :
shapeFolder.add(guiControls, 'form', {'Box' : 0, 'Cylinder':1, 'Dodecahedron' : 2, 'Icosahedron' :3, 'Octahedron': 4, 'Sphere': 5, 'Ring': 6, 'Torus':7, 'TorusKnot': 8}).onChange(function(value){
if(value == 0 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[0], materials[0]);
scene.add(shape);
}
else if(value == 0 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[0], materials[1]);
scene.add(mesh);
}
else if(value == 1 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[1], materials[0]);
scene.add(shape);
}
else if(value == 1 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[1], materials[1]);
scene.add(mesh);
}
else if(value == 2 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[2], materials[0]);
scene.add(shape);
}
else if(value == 2 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[2], materials[1]);
scene.add(mesh);
}
else if(value == 3 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[3], materials[0]);
scene.add(shape);
}
else if(value == 3 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[3], materials[1]);
scene.add(mesh);
}
else if(value == 4 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[4], materials[0]);
scene.add(shape);
}
else if(value == 4 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[4], materials[1]);
scene.add(mesh);
}
else if(value == 5 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[5], materials[0]);
scene.add(shape);
}
else if(value == 5 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[5], materials[1]);
scene.add(mesh);
}
else if(value == 6 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[6], materials[0]);
scene.add(shape);
}
else if(value == 6 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[6], materials[1]);
scene.add(mesh);
}
else if(value == 7 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[7], materials[0]);
scene.add(shape);
}
else if(value == 7 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[7], materials[1]);
scene.add(mesh);
}
else if(value == 8 && guiControls.lineshape == true){
scene.remove(shape);
scene.remove(mesh);
shape = new THREE.Mesh(genGeometry[8], materials[0]);
scene.add(shape);
}
else if(value == 8 && guiControls.lineshape == false){
scene.remove(shape);
scene.remove(mesh);
mesh = new THREE.Mesh(genGeometry[8], materials[1]);
scene.add(mesh);
}
});
其余的一切都很好,但只是那个控制把这一切搞砸了。
大家有没有看出哪里不对劲?
谢谢。