哦~ 好吧,的确是这样。
这帖子应该是3.8.4的第一个测试版出来的时候发的
还是引擎接口和项目接口中间包一层最安全,不管它改什么,中间层适配下就完事了.
按照新版本逻辑,
直接 ```
this.node.worldPosition = worldPos;
worldPos.y=3
this.node.worldPosition = worldPos;
设置第二次更新的时候就不生效了,因为是地址引用
是的! 对比的时候值会相等,跳过脏标记。 但是数据已经改了。
这个贴子是 3.8.4 社区版的时候就发了。。
是这样的.
但总感觉 . 还是好奇怪呀…
这样会造成很多"莫名其妙" 的困扰… 如果新人对这块儿的前因后果不了解. . 会陷入"逻辑地狱" , 自己明明设置了. 但效果就是达不到预期… 想到这里仿佛已经看到他们焦头烂额, 束手无策的样子了~
我觉得下个版本应该还会有所调整. 现在这个调整真的可以算上是一个大坑了.
太反直觉了,即使我现在看了这个帖,过了几个月或者半年,突然有个需求我要用上的时候,也不一定用得对
看到一些框架,大量接口传参数都是{},问有没有内存GC和性能问题?
做值比较更合理吧,做地址比较确实会引起莫宁奇妙的逻辑,和预期不太相符,开发者很少在意这个点,然后发现问题的时候就是一顿操作,值比较消耗不了多少性能
你这个里面是判断传进来的是不是同一个对象 是同一个对象就不设置对吧?为什么不判断传进来的值是否相等呢?
第一次发现会判断是不是同一个对象来 是否设置的 最好是判断里面的内容是不是相等才合理啊!判断同一个对象是那个人想出来的奇葩想法 感觉是不是出间谍了
这不是引用类型吗,既然是同一个对象,那值是怎么能不相等的…
判断值的话,还可以省点new的内存
做的就是值判断呀。 但由于你是同一个引用, 值判断的时候自然就是相等的呀。
做的就是值判断啊, 左右两边都是同一对象判断值,自然就是相等呀。
说的是Equals判断,判断每个字段是不是相等 而不是判断是不是同一个对象。
嗯。是的。