电脑上装了两个版本的creator(2.0.6、2.0.10),工作时仅打开了2.0.10,不知道这个有没有影响,求大佬指点
1、用cc.director.loadScene由a场景去到b场景(一切正常),再回到a场景,所有用@property挂载的node都没了。。。变成了 null。。。我换成了cc.find的方式去获取,结果也获取的是null。。。
2、关掉调试模式,所有接口都不请求了(build路径下),xhr里没有记录,抓不到请求包,游戏数据不出来 。。。构建了几次。。。莫名其妙又能请求了。。。。非build路径下访问,一直都是一切正常。这个有点恐怖,开发完了 ,结果发现所有的接口都不能请求了
解决方式:
1、(已解决)是cc.game.emit的锅,这个东西慎用,看着方便,在第二次加载相同场景时,cc.game.emit执行体里依赖的所有对象都会获取不到,所以并不是节点被销毁,而是cc.game.emit的引用被销毁了,全部换成this.node.on去注册,然后用this.targenode.emit去调用(targenode为当前脚本所在的节点,cc.Node类型)
2、(已解决)是旧版本cocosCreator的干扰导致,使用新版本时最好不要同时打开旧版本,代码切换分支时,建议最好关掉cocosCreator,切换好了再打开,build-templates编写要慎重,不要直接复制build里所有文件,会导致新增节点不更新到build中