Unity打包出来之后,根据Json路径读取失败

过程过于啰嗦,可以直接跳到后面去看结果

先说说我的情况吧,有一个功能是更换武器,点击武器之后,会更换相应的武器,其中需要读取Json(武器的数据),然后读取失败,一开始我的路径填写是这样的(错误示范):

path = Application.dataPath + "/_Json" + "/WeaponData.json";

Unity打包出来之后,根据Json路径读取失败_第1张图片
在运行模式下面是没有问题的

然后打包出来之后(PC端),更换武器,模型是替换成功了,但是武器数据没有更新,而且Collider也失效了,我以为是Unity自带的Bug,然后给游戏加了很多Debug,后来用LogViewer(Unity的一个插件,简单好用,感谢作者),显示出bug:

读取Json失败然后我一想,放到Resources文件夹下面不就可以了吗?
然后我把代码改成:

path = Application.dataPath + "/Resources" + "/WeaponData.json";

然后打包出来,继续测试:
读取Json失败还是出现了bug
后来百度搜索发现:
Unity打包出来之后,根据Json路径读取失败_第2张图片这个大佬成功解决了我的问题,谢谢谢谢
意思就是:把Json文件放到游戏目录下面,对应你的path

综合:

1.路径修改:

path = Application.dataPath + "/Resources" + "/WeaponData.json";

2.将Json文件放到游戏目录下面:
Unity打包出来之后,根据Json路径读取失败_第3张图片

你可能感兴趣的:(C#,Unity)