我在制作一款小游戏时意外发现的这个情况:定义了一个全局变量【测试】,放在了一个通知流程的第一位,在收到对应通知时将【测试】的值加一,如图
运行调试可得到
这个数字就很可疑,因为这个程序中,这个精灵本体加克隆体的数量正好是32,于是我又继续测试,这次我把这个变量放在了第五个通知,也就是上一个流程运行后产生的的通知后面
再次运行得到
32的32次方,很奇怪。于是我继续测试第六个通知
结果如下:
又变回了32。再往下个流程
回到最开始,我往4号通知的前一个流程再去测试
是正常的结果!所以这种情况可能的远因是什么呢?应该怎么处理?
原因大概率是所有收到“增加1”这个通知的克隆体都操作了一遍“增加1”,可以加一个判断:当收到通知的时候,如果自己非克隆体,操作“增加1”