联网游戏开发实例分享之《游侠姐妹》(附源码)
项目情况
游戏名:《游侠姐妹》
工具说明:本游戏前端使用白鹭Egret开发,后端联网部分通过接入Matchvs游戏云的SDK实现。
游戏简介:
《游侠姐妹》是一款支持联网对战的休闲类小游戏。游戏具体玩法为:在屏幕中的大灰狼走到游侠姐妹的弓箭准星之中时,点击对应的准星进行射击,打中大灰狼加分。 红色姐妹只能打红色的大灰狼,蓝色姐妹只能打蓝色的大灰狼,打错颜色或者漏打自身颜色的大灰狼将扣除生命值。 成功集中大灰狼可以获得分数,使用金币可以复活。 随着游戏进行,大灰狼的前进速度将越来越快。在本局时间结束后,分数高的一方将获胜。
注意事项:
多人玩法:此游戏为联网对战游戏. 测试完整游戏流程需要两台手机和两个微信帐号,并同时进行多人对战。
单人模式:登录后大厅界面的 创建房间 按钮可体验真人+机器人玩法(需联网)
部分技术实现方案
UI方面使用用Egret游戏引擎,Egret有一整套工具来支撑UI上的开发,网络利用Matchvs 的JavaScript SDK配合Matchvs云服务完成通信环节开发。同步机制采用Matchvs使用的是帧同步策略,定时触发同步但不等待。客户端定时上报消息,服务器定时下发数据给客户端,延迟高的客户端不会拖累其他人。
对于画面同步,实现方式也很简单。数据同步帧和渲染帧分离的情况下,收到同步帧数据,驱动渲染帧渲染。 首先在发送事件之前, 我们设置下同步帧的帧率,使用接口setFrameSync,一般设置为10(看你的项目要求)。这时, 我们发送帧同步数据,sdk只会在每整100ms( 1s / 你设置的帧率大小)时发送一次数据包,这个数据包括这段时间内的所有数据包(也可称之为这一帧的数据), 接收方就可以接到这一帧的数据。
具体的使用方法:先用接口setFrameSync设置帧率,然后再选择进入游戏界面,用接口sendFrameEvent发送帧同步事件(比如;游戏战斗情况实时事件)。这时房间内所有玩家通过绑定frameUpdate回调事件,就可以接受到这一帧的数据。
我们的实现: 玩家点击按钮射箭的判断以后,把消息通过接口sendFrameEvent发送出去,但是该玩家不立即处理客户端画面, 当玩家(包括该玩家)通过接口frameUpdate接受到数据,再修改客户端画面,从而实现同步。
基本原则;先绑定,再使用
发送帧同步事件(其实和普通接口一样的使用方式)
接受帧同步数据, 根据不同的event判断不同的事件
资源地址:
源码及体验地址
源码地址:https://github.com/matchvs/Ra...
目前游戏已经上线微信平台,在线体验地址如下:
联网游戏开发实例分享之《游侠姐妹》(附源码)相关推荐
- Adroid游戏开发实例讲解(三)-小蝌蚪找妈妈附源码
Adroid游戏开发实例讲解(三)-小蝌蚪找妈妈附源码 程序之美 从小就听着小蝌蚪找妈妈的故事长大,我相信小伙伴们一定都不陌生,因为小学课本中,我们早早的就学过了小蝌蚪找妈妈这篇文章,它既是一篇文章, ...
- 【Java游戏开发合集】毕业设计(附源码+资料+课件)
为正在准备毕业设计的小伙伴们以及想自学一些Java练手项目,小编终于整理出了本套视频课程(附源码+资料+课件),快来白嫖吧!!! 视频教程链接: 全站最全Java游戏合集!毕业设计!(附源码课件)8款 ...
- 小程序云开发实现登录与注册(附源码)
小程序云开发实现登录与注册(附源码) 1. 看效果 2.wxss <view class="v1"><!-- v2父容器 子view使用绝对布局 -->&l ...
- 基于QT开发的音乐播放器(附源码)
基于QT开发的音乐播放器(附源码) 一.简介 1.介绍 2.功能描述 3.系统功能层次模块图 4.各模块功能描述 (1)播放界面 (2)歌词 (3)歌曲信息 (4)歌曲列表 5.文件格式 6.运行环境 ...
- vscode中安装webpack_leaflet-webpack 入门开发系列一初探篇(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载 webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址w ...
- 仿酷狗音乐播放器开发日志二十一 开发动态调色板控件(附源码)
转载请说明原出处,谢谢~~ 上一篇仿酷狗日志结束后,整个换肤功能就只剩下调色板功能没有做了,我本以为会很简单,但是研究了酷狗的调色板功能后发现不是那么简单的事情.首先看一下酷狗的调色板的样子: 我原本 ...
- 联网对战游戏开发实例分享之《激流竞速》(附源码)
Matchvs是一款游戏服务器引擎,<激流竞速>这款游戏是基于Cocos Creator进行前端开发的基础上,通过接入matchvs SDK完成了联网功能的快速实现.在游戏中,双方可以进行 ...
- 基于Vue+Springboot的MOBA类游戏攻略分享平台【毕业设计,源码,论文】
摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息.为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,M ...
- springboot+vue项目之MOBA类游戏攻略分享平台(java项目源码+文档)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农.今天要和大家聊的是一款基于springboot的MOBA类游戏攻略分享平台.项目源码以及部署相关请联系风歌,文末附上联系信息 .
最新文章
- Swift 中使用 SQLite——修改和删除数据
- エターナル キングダム ~滅びの魔女と伝説の剣~验证方法
- codeblocks无法编译运行_编程必修课:一文弄懂python的运行机制
- Halcon阈值分割
- Java 调用gc语句_java GC机制(转)
- unity编辑器拓展(三) 预制体(Image)资源引用查找
- 全国软考中级软件设计师 学习笔记-数据流图部分
- 怎么考核程序员?(文末有互动红包)
- Spine 2D骨骼动画教程-完整实例入门教程
- Android中@GuardedBy
- 基于javaweb+jsp的晚会抽奖系统(java+Jdbc+Servlet+Ajax+mysql)
- 新品再续传奇 九联科技AX1800 WIFI6路由器上市受追捧
- UKEY通信CCID
- 第一次写正规论文的同学务必分享,排版自动排版,加注释。。。。。。等等!!!!!!!!(copy也得整出档次来啊,这就是门面啊)
- 传智播客成都中心官网全新改版
- 计算机专业素质拓展日记,拓展活动三年级日记
- 使用WinRAR制作属于自己的单文件版软件
- java中类的加载顺序
- MRS 配套ARM内核单片机烧录工具使用说明(RISCV/ARM IDE)
- 设计模式杂谈——模式与反模式之争
热门文章
- API批量操作、zabbix 监控
- 计算机毕业设计ssm车辆违规信息管理系统
- php怎么传对象,js怎么传一个对象
- 【微信小程序开发】云函数Cannot find module ‘wx-server-sdk‘
- 人工智能Java SDK:人脸检测,应用于包括人脸门禁系统、刷脸支付等各行各业
- 力扣——第298场周赛
- Wi-Fi的 8-stream sounding 和 8x8 MU-MIMO之间有什么关系?
- 千万不要嫁给程序员,我是认真的
- google可视化编程工具blockly介绍
- 办公娱乐一站式服务 威联通TS-251 NAS评测