两个详细案例教你使用creator完成联网游戏开发(附源码)

这两款游戏主要是基于Cocos Creator引擎开发完成,涉及到联网对战的部分,我们使用了Cocos官方商店中的Matchvs来完成联网对战功能的快速开发,现在将游戏的实现过程与思路分享给大家。

准备工作:相关引擎工具引擎下载及指南
Cocos Creator 下载地址
Matchvs JavaScript SDK 下载地址
Matchvs JavaScript 的Cocos Creator 插件使用手册


  • 案例一:《组队小鸡射击》

玩法简介:
双方通过控制各自小鸡,通过不断点击屏幕进行空中飞行射击,被击中者将消耗以爱心为单位的生命值,游戏支持四人同时实时对战。

设计游戏部分说明:
《小鸡射击》设计游戏实现步骤说明.pdf (1.2 MB):

github源码地址:
https://github.com/matchvs/BirdWar

体验地址:

注:如果用游览器体验,一个游览器只能打开一个游戏窗口。 如果要2人对战需要用两个不同的浏览器打开。

http://demo.matchvs.com/BirdWar-web-desktop/ (建议PC端打开)
http://demo.matchvs.com/BirdWar-web-mobile/ (建议手机端打开)


  • 案例二:《多人狩猎》

玩法简介:
游戏双方控制各自猎枪进行实时PK射击,以射中飞行中的鸟类数量多者为胜。

设计游戏部分说明:
《多人狩猎》 - 设计游戏实现步骤说明.pdf (1.7 MB)

github源码地址:
https://github.com/matchvs/DuckHunt

体验地址:
http://demo.matchvs.com/DuckHunt-web-desktop/ (建议PC端打开)
http://demo.matchvs.com/DuckHunt-web-mobile/ (建议手机端打开)


最后,为了大家理解方便,献上以《小鸡射击》》为例的视频讲解教程一份:
https://www.bilibili.com/video/av27202566/

~有疑问的话,欢迎大家留言讨论,另外后续将会有更多游戏案例上线。:grin:

21赞

赞啊,小伙伴们又有优秀的案例可以学习啦!

1赞

爲什麽需要自己設計事件管理呢?

Matchvs 好用么

你的鸟 没同步哦

mark

mark

mark

因为系统的管理会创建大量的对象。就这一点。就值得在系统根据需要重新制定
比如需要冒泡的事件,事件对象是否只能在树的一条分支向上走。还有时间对象是否能复用降低开销。
事件是否调用了多余的计算。比如鼠标事件的产生过程。
再者。不需要冒泡的事件,很多时候是否需要事件对象 。如果不需要。为什么不能用委托。

比如我这里使用的全是委托,在任何一个事件发生时候,除了系统产生的事件对象。没有产生任何对象
事件的信息会放在_data开头的数据里进行复用,然后调用委托函数,委托函数会根据{worldX:Int, world:Int}这样的强类型强制要求函数参数。除此外没有包含多余的信息。比如我不需要在鼠标事件里直到shiftKey altKey这些东西。就不要。
而复杂的情况。
比如我有一个上下文Context。别人要监听他的话要context.addEventListener。那么他必须继承事件派发器。
那么如果已经存在一个必须的父类呢?那只能实现事件派发器接口。用另一个事件派发代理。
那样的话事件对象的target就不是context对象了。于是又导致了别的问题的发生。

Mark

###两部手机连接用一个wifi试了下,感觉延迟有点大

学习了

matchvs 是收费的吗?

目前是免费的:relieved:

mark

额, 下载试了下, 确实没有同步

感謝大神

感谢分享,学习一下。

mark