前言:本Demo原来是Cocos Creator官方的一个Demo,本文章利用了第三方联网插件工具Matchvs将其改造成了一个三人对战的Demo(点击文末阅读原文,可获取在线体验地址)。

注意:

1.游戏满三人才可以开启,匹配成功后,玩家通过键盘AD键操纵小怪物向左向右移动抢摘星星。

2.下载Demo源码后,需用Cocos Creator打开工程(建议使用1.7.0及以上版本)。

游戏配置

Demo运行之前需要去Matchvs 官网配置游戏相关信息,以获取Demo运行所需要的GameID、AppKey、SecretID。如图:

获取到相关游戏信息之后,运行Demo,即可进入房间,准备开始游戏,如图所示:

初始化SDK

在引入SDK之后,在初始化前需要先调用Matchvs.MatchvsEngine.getInstance()获取一个Matchvs引擎对象实例:

另外我们需要定义一个对象,该对象定义一些回调方法,用于获取游戏中玩家加入、离开房间、数据收发的信息,这些方法在特定的时刻会被SDK调用。

为方便使用,我们把engine和reponse放到单独的文件Mvs.js中,使用module.exports将它们作为全局变量使用:

其他文件可以用require函数引入engine和reponse:

完成以上步骤后,我们可以调用初始化接口建立相关资源。

注意 在整个应用全局,开发者只需要对引擎做一次初始化。

建立连接

接下来,我们就可以从Matchvs获取一个合法的用户ID,通过该ID连接至Matchvs服务端。

获取用户ID:

用户信息需要保存起来,我们使用一个类型为对象的全局变量GLB来存储:

登录:

加入房间

成功连接至Matchvs后,二手手游出售立即随机匹配加入一个房间进行游戏。

代码如下:

停止加入

我们设定如果有3个玩家匹配成功则满足开始条件且游戏设计中不提供中途加入,此时需告诉Matchvs不要再向房间里加人。

代码如下:

在这里需要记下房间的用户列表,记入到全局变量GLB.playerUserIds中,后面要使用到。

发出游戏开始通知

如果收到服务端的房间关闭成功的消息,就可以通知游戏开始了。

游戏数据传输

游戏进行中在创建星星、玩家进行向左、向右操作时,我们将这些操作广播给房间内其他玩家。界面上同步展示各个玩家的状态变化。

其中星星是房主创建和展示,然后通知其他玩家,其他玩家收到消息后展示,相关的代码如下:

玩家进行向左、向右操作时,这些消息会发送给其他玩家:

考虑到数据同步会有延迟,不同客户端收到的数据的延迟也会有差异,如果只在同步玩家左右移动的操作数据,那么过一段时间之后,不同客户端的小怪物位置可能会不一样,因此每隔一段时间还是需要再同步一次小怪物的位置、速度和加速度数据:

最终效果如下:

搞定。

教你利用工具将单机游戏改造成对战网游相关推荐

  1. python编程做联机游戏大全单机_手把手教你将单机游戏改造成对战网游(附详细教程)...

    前言:本Demo原来是Cocos Creator官方的一个Demo,本文章利用了第三方联网插件工具Matchvs将其改造成了一个三人对战的Demo,(在线体验地址). 注意事项 1.游戏满三人才可以开 ...

  2. 手把手教你利用工具进行视频搬运赚钱

    昨天有粉丝私信说,见我之前写过很多关于视频伪原创的文章,但是具体操作细节,以及要用到的工具,如何操作工具,这块没有说得太详细,希望再出一篇文章,能手把手的教下大家如何搬运视频,如何使用相关的工具.今天 ...

  3. java仙侠回合制单机游戏_2019回合仙侠手游排行榜 好玩的回合制单机仙侠手游推荐...

    2019回合制仙侠手游大全为玩家们推荐更多好玩的回合制仙侠类型手游,此类仙侠手游也是目前比较流行的一种玩法,将经典回合制玩法与纯正仙侠题材玩法像结合. 回合制仙侠手游主打最唯美的无缝仙侠大地图玩法,最 ...

  4. 利用DoraOS将旧PC改造成瘦客户机

    背景 公司几年前建设了桌面云系统,应用于部分员工的办公.公司已经不再采购新的PC,老的PC达到使用年限后,淘汰掉,转为云终端办公.采购专业的品牌瘦客户机,如常见的HP.Dell.升腾,动辄一台2000 ...

  5. java写3d单机游戏可以吗_3D单机游戏《天鹰教》源码发布(二)

    3D单机游戏<天鹰教>源码发布 作者 作者: 游蓝海 博客: http://blog.csdn.net/you_lan_hai mail:     you_lan_hai@foxmail. ...

  6. 计算机单机游戏c0005错误,单机游戏安装中出现的错误,我教你解决它!

    一部经典的大型单机游戏,只有在高配置的电脑上,才能发挥出其画质的精美,操作的流畅. 注:(孤岛惊魂:原始杀戮) 但往往等待了几个小时的下载后,打开游戏时却出现了错误的提示! 这着实让人很恼火啊.是下载 ...

  7. php单机环境搭建,【完美西游网单服务端】新版单机一键安装游戏客户端带GM管理工具[附安装搭建教程]...

    [完美西游网单服务端]新版单机一键安装游戏客户端带GM管理工具[附安装搭建教程] 完美西游,2012年10月开启封测的一款客户端网游.<完美西游>推出了修真历练,守卫门派,梦桃源,火云洞, ...

  8. 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程

    声明:本文章转载自crifan的技术人生 [教程]手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 重要提示: 1.此贴,以后不再更新: 2.想要看更新的内容,请移 ...

  9. 【工具】更新资源分享渠道,电脑游戏安装合集,百款大型单机游戏,百度网盘临时会员领取方法...

    200513更新 昨天网友"己"提醒我百度网盘分享链接不能用了,测试之后发现应该是有违规内容所致,但我又比较懒,懒得查是哪个违规了,然后就算了,有需要的朋友加我网盘好友,和网友&q ...

最新文章

  1. 轨迹系列1——一种基于路网图层的GPS轨迹优化方案
  2. 【经典回放】多种语言系列数据结构算法:归并排序
  3. java接口那一节是哪的知识_Java中的接口知识汇总
  4. 最速下降法matlab全局最小值_梯度下降概念
  5. linux java uml_简单实用UML关系图解
  6. java jar apktool,ShakaApkTool.jar v3.0.0(反编译显示中文的apktool)下载
  7. 冲刺阶段 day 4
  8. shadow阴影属性
  9. L3-012 水果忍者 (30 分)-PAT 团体程序设计天梯赛 GPLT
  10. 32位CentOS安装cacti
  11. Shell之date用法
  12. 雕刻在LINUX内核中的LINUS故事
  13. QCA9886降低功耗指令
  14. matlab如何运行程序
  15. 5G产业(一):5G超低延时噱头?
  16. leetcode——340.至多包含 K 个不同字符的最长子串
  17. matlab 区域生长算法生成二值图像边界区域
  18. 迷阵突围 (dijkstra求次短路)邻接表,邻接矩阵
  19. MySql零基础教学,超细致,从小白到精通
  20. 信息系统项目采购管理范文

热门文章

  1. python怎么打不开图片_为什么pygame打不开图片 各种格式的都试过了
  2. 05-xpath爬虫数据解析
  3. linux下安装微信wechat
  4. 函数计算 Python 连接 SQL Server 小结
  5. [JSOI2010] 满汉全席
  6. redis、memcache、mongoDB 对比
  7. 81.游戏项目-物体任意角度飞行和停止
  8. chrome更新flash player失败
  9. javascript注意点(1)
  10. 对 /sbin/nologin 的理解