用CocosCreater进行MatchVs的配置
无意间在cocoscreater的官方DEMO里面看到了MatchVs这么一个东西,觉得做socket应用有了迅速开发的利器,自己也从中做了些笔记,温故而知新:
1.什么是MatchVs
Matchvs游戏云(简称“Matchvs”)是一款商业化游戏服务器引擎,与游戏服务器开源框架不同,Matchvs将一整套联网功能集成为一个高可用的SDK,适用于包括立项之初接入与后续单机改造的多场景应用。开发者只需根据自身设计的游戏逻辑,通过SDK提供的API接口来调整所需参数,即便是无服务端开发经验的工程师也能在短时间打造出一款标准的多人实时在线联网游戏。Matchvs为开发者提供游戏联网通信解决方案,拥有快速接入联网、多节点、低延迟、云端一键部署、可定制扩展等特色,帮助开发者节省开发成本,大幅缩短开发周期。
引擎会根据游戏玩家的区域就近接入,降低用户延迟,并封装了匹配对战服务,基于“房间”模式对战,阶段划分为1.匹配,2.对战
并通过request和response的形式实现各API接口的对接功能
主要的接口说明请参阅:(TS版本)
https://doc.matchvs.com/APIDoc/TypeScript
2.MatchVs的配置和注册
class MsEngine {
private static engine = new MatchvsEngine();
private static response = new MatchvsResponse();
private init(){
this.response.initResponse = (status:number)=>
{
if(status == 200){
//成功
}
else{
//失败
}
}
this.engine.init(this.response, "Matchvs", "alpha", 123456, "xxxxappkey", 1);
}
}
MatchVs的引擎在项目里面是一个全局的存在,所以,我觉得可以用一个单例或者静态类型来启动和管理Engine
3.MatchVs在CocosCreater里面的应用
Cocos在IDE里面配置MatchVs的过程官方有比较详细的过程
https://doc.matchvs.com/QuickStart/QuickStart-CocosCreator
这里有几个注意事项:
1.如果需要用TS版本来运行,需要有matchvs.d.ts作为接口文件。
2.注册回调接口可参照如下方式进行,具体在MatchVS里面的接口可参阅:https://doc.matchvs.com/APIDoc/TypeScript
this.Response.initResponse = this.initRsp.bind(this);
举个例子:this.Response.joinRoomNotify = this.joinRNot.bind(this);那代表了有人加入房间后的回调就和joinRNot函数绑定了,有人加入房间后的流程就可以在回调函数里面的梳理。
3.关于引擎的启动:
this.engine.init(this.rsp,'Matchvs','release',this.gameID,appkey,gameVersion);
第三个参数platform如果是alpha,则代表了当前的项目是测试版本
gameID和appKey是游戏在平台上发布时平台分配的id
platform | string | 平台,选择测试(alpha)or正式环境(release) | "alpha" |
gameID | number | 游戏ID,在引擎官网创建游戏给出的ID | 200103 |
appKey | string | 游戏 App Key 官网生成 |
GameID
AppKey
接下去,我会研究一下MatchVS的sendEvent事件和帧同步研究,自己也很期待。