migration notes for r67 to r68状态:
Object3D
'sposition
,rotation
,quaternion
andscale
properties are now immutable.
这在实践中意味着什么?我想要更多关于这方面的细节。我找不到问题或请求详细信息。
例如,以下代码片段需要如何更改?
obj.position.x = 10;
此外,这种不变性是如何实现的?是否存在对象被卡住的时刻,或者 Vector3
等实例一旦构造就不可更改?
最佳答案
经过一些实验,似乎属性是只读的,并且它们访问可变对象。
所以这是有效的:
obj.position.x = 10;
但这将被忽略:
obj.position = new THREE.Vector3(10, 0, 0);
不幸的是,这不会导致任何可观察到的错误或警告——它只是默默地不按照您的要求去做。
以下是可行的:
obj.position.set(10, 0, 0);
要查找违反此新限制的情况,请尝试搜索以下字符串(您可能希望使用正则表达式使空格可选):
.position =
.rotation =
.quaternion =
.scale =
关于javascript - ThreeJS r68 中不可变的 Object3D 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26130672/