这段时间遇到一个PC版本发布WebGL的工程,遇到很多的[color=rgb(85, 85, 85) !important]问题,在这里做下记录。 1.发布报错:程序中出现DLL调用的情况,删除调用DLL相关代码。 2.WebGL无法通过IO流读取本地json文件:改成TextAsset绑定json来读取。 3.原版解析json使用JsonDotNet但是无法在WebGL上使用:使用Unity自带的JsonUtility类进行解析。 4.使用JsonUtility解析时报错:用于解析json的类以及子类需要[Serializable]序列化。 5.解析json时有个别json文件报错:对应的json文件有格式错误,多了逗号,就删除多余的逗号。但是JsonDotNet并没有报错。 6.方向键无法执行相关的步骤:原因是JsonUtility解析的数据与原本JsonDotNet解析的数据有不同的地方,比如JsonUtility解析空数据时List会有实例,但是Count为0,而JsonDotNet解析的时候回没有实例为Null,这样源码有判断是否为Null的时候就出现问题了,解决办法是将JsonUtility解析不同的数据改成原版一样的。 7.点击保存按钮出错:保存使用了IO流,注释掉相关代码,改为临时保存。 8.无法解析二维数组的json文件:JsonUtility无法解析带二维数组的json文件,改成一维数组去解析,解析后一维数组转回二维数组。JsonUtility无法用字典去解析,创建一个解析的数据类,解析完后把数据转换回需要的数据。 9.由于之前删除了绘图插件的DLL,导致无法绘图:使用新的绘图方式替换。
来自: yanis
|