update中执行的语句只能赋到最终值

该语句在update里,但是运行发现a值是实时变化的,没有问题
image
但是把vector3s列表打印出来后,发现每一步vector3s[2].x的值都为最后的值,控制台提示语句也是在最后一下子全部出来的。(该语句只执行1s)

怀疑是punchcount运算量太大算不完,但是即使改为简单运算或者其它变量,问题依旧。
在网上找到了个迭代的问题,用此方法没有解决:(他的问题和我差不多但情况不一样,我的是在update里面的)

谢谢各位大佬,感激不尽!

大兄弟, 都2022了,

你把var改成let, 不必IIFE

image
我没用一句var啊

唔唔,我只是觉得网上找到那个例子和我遇到的情况比较像,就贴上来了,看来情况是不一样的。我的是在update里面的

你这第一个settimeout执行的时候for循环已经结束了,i已经是10了

我只是觉得网上找到那个例子和我遇到的情况比较像,就贴上来了,看来情况是不一样的。我的是在update里面的

这个好像是因为Vector3是引用类型,所以输出后都是最后的值,你可以试试每次new一个vector3赋值输出,或者用值类型替代看看

谢谢您!问题确实在此。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。