本地存储
获取/设置本地数据
介绍#
mk.Storage
是用于将数据保存到本地所使用的存储器。例如玩家的账号,上次选择的角色,
不可能每次进入游戏都要重新输出一次,所以我们需要本地存储器
提示:
mk.Storage
是一个类型,你可以创建单个或多个 storage 对象使用。 你可以只创建一个 storage
用于全局使用,但像游戏中的多账号多角色,以及多人开发解耦只有多个 storage 才更适合
创建#
class StorageData {
/** 测试数据 */
testStr = '';
}
let storage = new mk.Storage({
nameStr: '存储器名字',
data: new StorageData(),
});
初始化参数如下
属性 | 描述 |
---|---|
nameStr | 存储器名(可选),用于在存储时区分不同存储器,不存在时数据则暂时存储在内存中而非本地 |
data | 初始数据,如果你想要首次获取数据时就存在对应的值,就得传递对应的初始数据 |
codec | 编解码器(可选),用于对存储数据加密/解密 |
writeIntervalMsNum | 写入间隔时间(可选,单位毫秒),每次存储都会等待间隔时间,防止过于频繁的存储导致卡顿 |
属性#
key#
数据键,你可以通过 key
属性获取到所有的存储键,可让编辑器自动提示且方便同步修改键名
示例#
storage.key
方法#
get#
获取数据,如果数据不存在,则会返回构造参数中的 data
中对应的值,如果数据仍然不存在则返回 null
示例#
storage.get(storage.key.testStr)
set#
存储数据,以 Json 的格式存储到本地,如果不存在 nameStr
则暂时存储在缓存中,设置 nameStr
后自动转移到本地
del#
删除数据,如果你想要删除本地数据时则调用这个接口,如果不存在 nameStr
则只会清理缓存数据
示例#
storage.del(storage.key.testStr)
clear#
清空当前存储器数据,del
是删除指定 key 的数据,clear
就是删除所有数据,同样如果不存在 nameStr
则只会清理缓存数据
示例#
storage.clear()