Storage

获取和设置值是非常简单的,当浏览器关闭后依然能够存储。Storage 是 HTML5 Web Storage 的包装,这能很好的跨浏览器和平台,但每个域有 5MB 的大小限制。 Storage 在 node 中也是可用的, 它被永久存储在 ./localStorage 目录 - 删除实体时要小心。注意多个 Crafty 实例存储在一起时,要小心不要覆盖了已经存在的实体。

方法

Back to top

Crafty.storage()

Crafty.storage(String key)
key

存储的键

[返回]

存储的值, 如果指定的键不存在则返回 null

Crafty.storage(String key, String value)
key

存储的键

value

存储的值

Crafty.storage(String key, [Object value, Array value, Boolean value])
key

存储的键

value

存储的值,可以是对象或数组

Crafty.storage设置和获取值是同步的。

你可以存储逻辑值,字符串,对象和数组。

注意:因为使用的是同步方法,在游戏中频繁使用会使游戏变慢。你应该力求合理的加载和保存数据,限制一定频率或仅在用户特定的行为下执行。

注意: 在跨域的情况下 localStorage 是不可访问的。

例子

获取一个已经保存的值

var playername = Crafty.storage('playername');

例子

保存一个值

Crafty.storage('playername', 'Hero');

例子

检查值是否存在

var heroname = Crafty.storage('name');
if(!heroname){
  // Maybe ask the player what their name is here
  heroname = 'Guest';
}
// Do something with heroname
Back to top

Crafty.storage.remove()

Crafty.storage.remove(String key)
key

将要删除的键

通常情况下你不需要删除localStorage存储的值, 但如果存储大量文本或想取消之前设置的值可以使用这个功能。

例子

删除一个已经存在的值

Crafty.storage.remove('playername');