我想要保存游戏的关卡信息,现在有几种方案,麻烦大佬们看一下哪种方案更合适
1.用json来记录初始的关卡信息,然后初始化游戏的时候读取,用户完成关卡之后更新这个json文件
2.用ts文件来记录,之后更新这个ts文件
3.全程用local storage,但是不是很清楚这种用法的持续时间,是只有用户删除缓存后存档才会消失吗,上面两种方案相对local storage有什么优势吗。同时一个问题是我也还不知道怎么在ts脚本里面把数据写入json和ts文件
2我觉得可以直接排除。1 3怎么选择看你数据情况了。3的底层实现好像是sqllite对查询友好。json的话你得考虑拆多个json文件存储避免大量数据有读取和存储的性能问题。如果简单数据就随意了
直接选3吧
- h5端(类h5端),不支持你1的文件存储方案,所以我认为你的游戏是原生的;
- 本地存储,原生可以存在外部存储,其它方式卸载应用,存档必定也没了;
- localstorage的cocos原生实现是sqlite,所以io开销比原生读写文件快点;
- localstorage的读写是同步的,可能会卡顿,优化方案可以改成读同步,写异步,游戏内只读一次,之后只写不读。
感谢回复,还想请问下,微信和抖音小游戏算h5端或类h5吗,不支持json文件的读写吗
微信和抖音这种有终端app支持的,可以读写,但不能外部存储,即卸载就没了
了解了,十分感谢!