Javascript 设置和克隆的工作方式不同
我对三个js上的设置和克隆有一些疑问,我试图渲染一个场景,其中一个球体沿x轴移动,相机随着注视移动,我试图自己做《学习三个js》一书中的示例,但我没有使用克隆,我的场景也做了同样的操作,但我看不到球体,有了克隆人我可以看到球体有人能解释一下为什么会这样吗 以下是两个不同的代码:Javascript 设置和克隆的工作方式不同,javascript,three.js,Javascript,Three.js,我对三个js上的设置和克隆有一些疑问,我试图渲染一个场景,其中一个球体沿x轴移动,相机随着注视移动,我试图自己做《学习三个js》一书中的示例,但我没有使用克隆,我的场景也做了同样的操作,但我看不到球体,有了克隆人我可以看到球体有人能解释一下为什么会这样吗 以下是两个不同的代码: sphere.position.copy(new THREE.Vector3(x,10,0)); sphere.position.set(new THREE.Vector3(x,10,0)); 第一个显示球体,第二
sphere.position.copy(new THREE.Vector3(x,10,0));
sphere.position.set(new THREE.Vector3(x,10,0));
第一个显示球体,第二个不显示:S位置为
3。矢量3
看
及
Vector3.set
取3个值:数字x
、y
和z
Vector3.copy
需要Vector3
来详细说明Derte已经说过的内容-set
基本上是这样工作的
function set(_x,_y,_z){
this.x = _x;
this.y = _y;
this.z = _z;
}
而copy
的工作原理如下:
function copy(v3){
this.x = v3.x;
this.y = v3.y;
this.z = v3.z;
}
您将不适当的参数传递给
set
函数,因此它很可能在内部抛出错误。在chrome中点击ctrl+shift+i
检查控制台,您可能会看到,在它使用copy
执行第一行后,当您尝试使用将设置为参数而不是(float,float,float)
时,它抛出了一个错误。我知道,但是如果我增加x轴,我就看不到使用Vector3.set的球体,但是使用Vector3.copy我可以看到