Lia开发者

指南

一个排行榜,以及无需你自己的服务器的保存进度。提交分数,显示前50,名,并在云存储中保存进度,这样它会跟随玩家到任何手机。

#一个排行榜

board.js
async function gameOver(score) {
  const { best } = await Lia.submitScore(score);
  if (score === best) Lia.haptic("success");
  showBoard(await Lia.leaderboard());
}

function showBoard({ top, me }) {
  list.innerHTML = top
    .map((row) => `<li class="${row.me ? "me" : ""}"><b>${row.rank}</b> @${escapeHtml(row.name)} <span>${row.score}</span></li>`)
    .join("");
  if (me && me.rank > top.length) footer.textContent = `You: #${me.rank} with ${me.score}`;
}

在将它们放入 HTML 之前,请转义名称,就像处理任何来自人们的文本一样。

每个应用有一个排行榜,每个玩家'的最佳分数。分数是整数,数值越高越好;对于时间或 "最少的移动次数",提交类似 1000000 - milliseconds.

#已保存的进度

云存储在你的应用中为每个玩家保存最多1024个密钥,在Lia上'的服务器,并跟随它们到任何手机。

save.js
const SAVE = "save";

async function load() {
  const text = await Lia.cloudStorage.getItem(SAVE);
  return text ? JSON.parse(text) : { level: 1, coins: 0 };
}

let saving = null;
function save(state) {
  // Coalesce saves: at most one write every 2 seconds.
  clearTimeout(saving);
  saving = setTimeout(function () {
    Lia.cloudStorage.setItem(SAVE, JSON.stringify(state)).catch(function () {
      Lia.deviceStorage.setItem(SAVE, JSON.stringify(state)); // keep it on the phone meanwhile
    });
  }, 2000);
}

Lia.onPause(function () { /* save now: they may not come back */ });

值最多可达 4096 个字符,因此请保持大内容(如关卡编辑器'的地图,例如)在你自己的服务器上,或者将它们分布在不同的键上,并用 getItems.

#什么放在哪里

把它放在何时
Lia.cloudStorage玩家在新手机上期望的任何进度、设置和内容
Lia.deviceStorage缓存、草稿和任何你可以丢失的东西(最多 5 MB)
Lia.secureStorage一个您自己服务器的令牌(最多10项)
您的服务器任何'有价值或决定奖品,用$LIA购买的硬币,以及其他玩家看到的内容

云存储就是玩家'从你的页面更改,因此将其视为页面上的任何内容:适合他们自己的进度,不适合余额。测试并分享它。

自动翻译。英语是真实来源。 阅读英文

输入以搜索每一页、方法和端点。