3.8.4超级反人类设计Node 的一些 set 接口行为的修正

// 这里直接缓存 node.worldPosition 的值

let worldPos = this .node.worldPosition;

worldPos.x = 10;

// 这里会直接返回,导致修改失效。

// 因为 worldPos 指向的就是 nodeworldPosition ,不管怎么改, setWorldPosition 在对比的时候,值都相等。

this .node.setWorldPosition(worldPos);

哪个天才想出来的!!!是不是被间谍入侵到你们内部了

1赞

你自己写一个引擎把,这么难伺候,不是有一个clone么

2赞

getWorldPosition获得的Vec3无法修改后再给setWorldPosition使用,这个隐藏知识会给新人写代码带来很多麻烦

3赞

但凡多看一眼,看到readonly都不应该直接改.worldPosition的值

2赞

编辑器会报错的

1赞

那个习惯不好,应该尽量避免临时对象的产生

2赞