请教一下论坛大佬们,开发单机游戏时的本地存储方案。之前设计使用的localStorage来存储。但是现在遇到问题,在存储背包物品时,如果背包中有大量类型的物品 例如100个类型的物品,如果每次只更新其中一个类型物品的数量,那么程序都会要JSON.stringify一次存储。这样的话对性能会有一定的影响。我想问的是,有没有类似cocos2dx 使用sqlite创建本地DB? 暂时不考虑native版本。
这个只是一个优化的问题吧,为什么要把整个数据结构放到一个localStorage字段里面呢?
举个例子,你背包里有很多个物品,你就直接先存一个 map到 localStorage.setItem(“bag”,{"bag":[id1,id2,id3..]});
然后再存 localStorage.setItem(id1,物品数组);
这些只是数据存储而已,你实际运行的程序里,自己处理完数据,载入内存的的结构是 {bag:[ [id1完整列表],[id2完整列表],[id3完整列表]]}
无非就是做了一些映射和数据拆分,管它是从localStorage里读还是文本文件里读还是从二进制文件里读。
非常感谢你的回答,目前使用的方案也是拆分数据存储。发帖的目的是想问问各位大佬 有没有更优的方案,毕竟现在的方案个人感觉还是不太理想
非常感谢你的回答,这些是浏览器自带的DB吧?我的想问问能不能自己创建一个DB存放到小游戏分配的文件存储空间内?
真要实现数据库,就自己去原生平台接入sqlite库,然后桥接js进来吧。



