房间匹配

最近更新时间:2019-09-05 18:44:43

本文档用于指导开发者通过房间匹配的方式,调用小游戏联机对战引擎 MGOBE 客户端 API 创建并加入一个房间。

前提条件

操作步骤

开发示例:通过房间匹配的方式加入房间。

1. 游戏配置

const gameInfo = {
    openId: 'xxxxxx',
    gameId: "xxxxxx",// 替换为控制台上的“游戏ID”
    secretKey: 'xxxxxx',// 替换为控制台上的“密钥”
};

const config = {
    url: 'xxx.wxlagame.com',// 替换为控制台上的“域名”
    reconnectMaxTimes: 5,
    reconnectInterval: 1000,
    resendInterval: 1000,
    resendTimeout: 10000,
};

2. 定义房间匹配参数

const playerInfo = {
    name: "Tom",
    customPlayerStatus: 1,
    customProfile: "https://xxx.com/icon.png",
};

const matchRoomPara = {
    playerInfo,
    maxPlayers: 5,
    roomType: "1",
};

3. 实例化 Room 对象

const room = new Room();

4. 初始化 Listener,并给房间添加监听

Listener.init(gameInfo, config, event => {
    if (event.code === MGOBE.ErrCode.EC_OK) {
        console.log("初始化成功");
        // 初始化后才能添加监听
        Listener.add(room);
    } else {
        console.log("初始化失败");
    }
});

5. 调用房间匹配 API

房间匹配 API 请参见 matchRoom

room.matchRoom(matchRoomPara, event => {
    if (event.code !== 0) {
        console.log("匹配失败", event.code);
    }
});

6. Room 接收广播回调

广播回调 API 请参见 onJoinRoomonLeaveRoom

// 广播:房间有新玩家加入
room.onJoinRoom = event => console.log("新玩家加入", event.data.joinPlayerId);
// 广播:房间有玩家退出
room.onLeaveRoom = event => console.log("玩家退出", event.data.leavePlayerId);