###对于游戏开发来说,游戏的服务端的开发部署可能是件很头疼的事情。
不过好在现在cocos creator提供“Matchvs游戏云”一键集成服务。Matchvs游戏云(简称“Matchvs”)是一款商业化游戏服务器引擎,与游戏服务器开源框架不同,Matchvs将一整套联网功能集成为一个高可用的SDK,适用于包括立项之初接入与后续单机改造的多场景应用。开发者只需根据自身设计的游戏逻辑,通过SDK提供的API接口来调整所需参数,即便是无服务端开发经验的工程师也能在短时间打造出一款标准的多人实时在线联网游戏。利用Matchvs我们就可以节省开发成本,大幅缩短开发周期。
为了研究一下Matchvs,做了一个猜拳的小游戏。通过Matchvs实现了 注册登陆,游戏大厅,房间管理,数据通讯这四个功能。
- 先展示下使用效果
demo地址:
https://github.com/ACGzq/cocos_zyaken
下面介绍一下集成方法
Matchvs的集成
- 打开cocos creator 面板-服务 第一次使用 需要关联 Cocos Appid。点选下来菜单选择自己的游戏,没有的话点面包选下面的连接去创建
- 完成后点开Matchvs设置开关为开即可,cocosCreator会自动下载Matchvs服务模块。下载好的服务模块路径为./assets/scripts/matchvs/matchvs.all.js
**注意:**服务模块加载SDK为Cocos渠道SDK,必须使用CreatorIDE登录的账号,Cocos渠道账户必须绑定公司才可以使用。(个人开发者可先在Cocos控制台添加一个公司信息,无需认证,即可使用)
- 点击前往控制台以获得appid 和 appkey,这些参数将在初始化matchvs时用到
- 代码里初始化matchvs,通过代码
engine = new window.MatchvsEngine();可以或得到Matchvs服务模块的实例。但是一次运行只能new一个实例出来,要不然会出问题。所以这里要将engine封装成全局变量,供多个脚本调用。这里建议直接点击Matchvs面板下的Sample工程按钮,去下个Sample工程来。将工程路径./assets/scripts/下的matchvsLib文件夹直接复制过来。该文件夹里的脚本已经把matchvs封装成全局变量了,而且还把常用的api和监听事件也都封装了一遍,直接调用即可。方便快捷。

MatchvsDemoEngine,js内部展示
如何在脚本中调用
let engine = require("../MatchvsLib/MatchvsDemoEngine");
cc.Class({
extends: cc.Component,
onLoad: function () {
//Matchvs初始化
engine.prototype.init(channel,‘'alpha'’);//alpha表示当前为测试环境,正式环境为release
- 注册回调事件
matchvsLib 里的MatchvsDemoResponse.js脚本文件里已经将回调都注册好,并通过cocos系统事件发送出来.所以我们只要注册相应的系统事件就好。方便低耦。
MatchvsDemoResponse.js内部展示
代码中注册监听事件
let msg = require("../MatchvsLib/MatvhvsMessage");
initEvent:function () {
cc.systemEvent.on(msg.MATCHVS_INIT,this.onEvent,this);
}
onEvent:function (event) {
let eventData = event.data;
switch (event.type){
case msg.MATCHVS_INIT:
this.labelLog('初始化成功');
break;
...
}



