今天分享一个获取游戏中角色在线状态的新方法。。。
首先是在玩家进入游戏的时候,将玩家加入到一个房间即channel中,可以根据条件将玩家放入不同的房间里。我这里就暂时都放到一个房间里了。
var channelService = global.app.channelService;
var channelNo = 'channel-room-1';
// 获取channel ;为true 是创建channel
var channel = channelService.getChannel( channelNo, false );
if( !! channel ){
channel.add ( uid, sid );//uid 为角色的账户ID sid 为玩家所在的前端服务器ID
}
上面是将玩家加入到房间里的过程,这个过程对于聊天来说是必须的,只有将玩家加入到一个房间里,才能互相的聊天。
下面就是使用channel的所拥有的方法,获取角色在线状态。
var online = channel.getMember( uid ); //uid 是玩家的账户ID 跟add的参数一致
if( !! online ) {
//online : {sid : 'connector-server-X', uid : 100}
console.log('该玩家在线’);
}
这是自己在看聊天案例的时候,看到的方法,自己也总结一下。