这两天遇到个怪问题

第一次是

我有一个函数,开始我是在特定情况下自动调用它,后来改着改着代码不知道就怎么了,运行的时候会直接调用这个函数,然而并不是我调用的,我已经把所有代码注释了,只留那个函数,运行时还是会自动调用,如果我改了名字就不会调用,如果再改回去又会调用,最后解决办法是我把这个函数所在的组件从他的节点上remove后重新添加才正常的

第二次就是今天

我在properties里声明了一个属性,value为0,然后我有些代码出错了,然后我把这个属性的value赋值为500,然后这个属性的value还是0,应该说不管把value赋值为多少,实际的value都是0,除非我改一下属性名字,才会正常,之后我再改回以前的名字,也是正常的

不知道是怎么的,有可能是我操作问题,暂时找不到重新方式:joy:

以后如果有类似情况,一般用浏览器的开发者工具下个断点,就能看到调用堆栈。

如果你用完整写法

totalBlood: {
  default: 500
}

就会比较清楚这一点,那个值不是 value,是 default,这个 default 只在第一次创建组件的时候会用到,创建后的值是存在场景里,而不是存在脚本里的。所以你改脚本没有用,要改场景。

:joy:感谢大神,我已经闹明白了