【发布时间】:2021-03-02 18:03:28
【问题描述】:
我正在用 typescript 编写一个程序,我有 n 对象,默认颜色为红色,例如cupe.material.color 是红色的。
现在我想改变立方体的颜色,例如推ArrowUP。到目前为止我没有问题。
目标是当我更改对象 x 的颜色时,如果我设置另一个对象的颜色,它应该重置。只有一个对象应该有非默认颜色。
我的想法是创建一个保存初始颜色的变量,但这不起作用,看看:
var box1 = new THREE.Mesh(
new THREE.BoxGeometry(),
new THREE.MeshBasicMaterial({color:0xffffff})
);
var box2 = new THREE.Mesh(
new THREE.BoxGeometry(),
new THREE.MeshBasicMaterial({color:0xffffff})
);
var back;
window.addEventListener("keydown",function(event){
if(event.key == "ArrowUp") {
box1.material.color.set("red");
back = box1
}
if(event.key == "s") {
box2.material.color.set("red");
back.material.color.set("0xffffff")
back = box2
}
}
【问题讨论】:
标签: typescript three.js