异步多人游戏

Construct 3 插件支持与异步多人游戏配合使用。 详见主文章中的 HTML5 部分。

多人游戏初始化

要开始使用,请使用 Initialize multiplayer 操作。 该操作会执行初始化和加载对手的游戏会话。

初始化参数:

参数

类型

描述

Sessions count

number

要加载的会话数量(最多10个)。

Turn time

number

对手回合的最大时间(毫秒)。

Meta

JSON

用于会话选择的数据对象。

有关参数的更多详情,请参阅主要文章。

多人游戏初始化成功后,将触发 On multiplayer initialization 触发器。 要处理收到的对手会话,请在其中使用 For each opponent 循环。 循环中可用的表达式:

  • Current session player data —— 通过 avatar 或 name 键获取当前会话中的玩家数据。
  • Current session ID in sessions list。

要获取会话元数据,请使用 Get current session metadata 动作。

记录游戏会话

可用动作:

  • Commit transaction —— 用于提交事务。 该操作接受包含数据的 JSON 对象。

  • Push session —— 用于保存会话。 该操作接受包含元数据的 JSON 对象。

更多详情,请参阅主要文章。

使用会话

在 Construct 3 中,会话操作仅通过事件完成。为此,使用 On multiplayer session transactions 和 On multiplayer session finish 触发器。 为此,请使用 On multiplayer session transactions 和 On multiplayer session finish 触发器。

在 On multiplayer session transactions 触发器中,可以使用:

  • Session ID in event 表达式。

  • For each transaction 循环 —— 用于处理对手发来的事务列表。 循环中可用的表达式:

    • Current transaction ID in transactions list。
    • Current transaction time in transactions list。

    要获取事务数据,请使用 Get current transaction data 动作。

在 On multiplayer session finish 触发器中,可以使用 Session ID in finish event 表达式。

要触发向处理程序发送会话,请使用 Mark gameplay start 操作。 暂停通过调用 Mark gameplay stop 实现。

有关使用会话的更多详情,请参阅主要文章。

使用示例

Construct 3 截图:使用 YandexGamesSDK 插件配置异步多人游戏的界面。 一个三列表格(第三列的每个单元格中都有"+ 添加操作"和"+ 添加..."按钮)和 8 行。 第 1 行 —— "OK"图标和文本"start"、"按下时"、"{:} InitMeta | 解析 JSON 字符串 "{""meta1"":{""min"":7,""max"":9}}""  "YandexG... | 初始化多人游戏。 会话数:1,回合时间:20000 毫秒,元数据:{:} InitMeta"  设置图标"系统 | 等待之前的操作完成"  "YandexG... | 标记游戏开始"。 第 2 行 —— "YandexGames…"、"多人游戏已初始化"、空单元格。 第 3 行 —— "YandexGames…"、"对于每个对手"、虚线方块中的字母"T"图标和文本"文本2 | 将文本设置为 YandexGamesSDK.会话列表中的当前会话标识符"。 第 4 行 —— "YandexGames…"、"已收到会话事务"、空单元格。 第 5 行 —— "YandexGames…"、"对于每个事务"、"YandexG… | 获取当前事务的数据并保存到 {:} payload"  虚线方块中的字母"T"图标和文本"文本2 | 将文本设置为 payload.获取("data")"。 第 6 行 —— "YandexGames…"、"会话已结束"、虚线方块中的字母"T"图标和文本"文本2 | 将文本设置为 "结束""。 第 7 行 —— "OK"图标和文本"commit"、"按下时"、"设置图标"系统" | 从 hp 中减去 1"  "{:} transacti... | 解析 JSON 字符串 "{""data"":"&hp&"}""  "YandexG... | 使用数据 {:} transaction 写入事务"。 第 8 行 —— "OK"图标和文本"end"、"按下时"、"{:} pushMeta | 解析 JSON 字符串 "{""meta1"":8}""  "YandexG... | 使用元数据 {:} pushMeta 保存会话"。


存储库
下一篇