猫史档案馆


手把手教你写【联机作品】快来围观~

用户:流熙墨晨流熙墨晨查看:150 回复:273 评论:150 创建时间:2020-07-07T10:26:09


----------------------------------------------------墨晨密封线--------------------------------------------------------------

大家好!我是墨晨,今天第二次写教程帖,今天我来手把手的教你做联机作品

话不多说直接正题~

关于联机,我将代码分为4个大板块

匹配模块

游戏主要模块

判断对方是否非正常结束游戏模块(掉线模块)

程序自动重启模块

1,匹配模块。匹配模块主要用于玩家匹配,使两方玩家都能进入游戏,是非常重要的模块。我比较喜欢用云列表来做匹配,当某个玩家点击按钮或触发匹配的时候,如果云列表里没有玩家,或者只有一个人,这个时候,玩家才能匹配——将玩家的用户名放入云列表。一旦云列表里有两个人,且云列表里包含了自己的用户名,这说明,你正在匹配,而且已经匹配成功,这个时候就能跳转到游戏界面了

center_image

2,游戏主要模块。这一模块是你游戏的核心,根据不同的作品而异,但中心思想是不变的,用公有云变量来上传玩家数据,如坐

标,为了简单易懂,这里就不做公有云变量扩容了,分别取4个变量A方的x坐标,A方的y坐标,B方的x坐标,B方的y坐标。两个主要

角色,分别代表A,B。他们的位置是由那4个公有云变量决定的。任何整改都是修改云变量,如果这两个角色使用特效/技能,等动作

可以用云变量做广播:

center_image

当游戏结束后,也可以通过云变量广播来宣布游戏结束:

center_image

3,判断对方是否非正常结束游戏模块(掉线模块)。这一模块主要是判断对方是否掉线,或延迟过长。在双人对局时,对方可能会

在游戏还没结束就离开游戏,这样使得另一方无法继续游戏,而这一模块就是为了侦测对方掉线并结束游戏,中心思想就是双方每隔

一段时间扫描一个云变量的值,如果它被更改了,就将它修改;如果它没被更改,说明对方延迟过长或对方掉线,这样就能及时结束

游戏。

center_image

因为对方可能在5秒延迟之内修改云变量,所以这里使用计时器而不是等待。

4,程序自动重启模块。如果只有两个人在线,同时他们在游戏中都中途退出了,判断掉线的代码还没来得及判断,就退出了,这就

非常糟糕,因此程序自动重启模块诞生了。因为无人执行代码,而正在游戏的云变量没有清空,他人就无法进入匹配。当有人打开游

戏,同时,只有他一个人在线,这一点说明了此刻,不会有人在匹配或游戏,毕竟只有他一个人。这时,这段代码就开始工作了

center_image

虽然,如果有3人在线时,正在游戏的两个人同时掉线,这时,游戏既无法匹配,也无法重启,这位第3者就非常不幸,但人总要睡

觉,你的程序不可能有人24小时无间断开着,当所有人都退出游戏后,就可以等待下一个开启游戏的人。

好了教程帖就分享到这里了,希望大家喜欢emotion_星能猫_爱你

 

元夜工作室出品~center_image


回复

上一页1 页 / 共 10下一页
无双喵无双喵

emotion_编程猫_翻白眼

点赞0


评论


DeepDarkFantasiesDeepDarkFantasies

你这个太废空间了,就10个共有

点赞0


评论


DeepDarkFantasiesDeepDarkFantasies

一个的事

点赞0


评论


拾柒seventeen17拾柒seventeen17

啊这

点赞0


评论


流熙墨晨流熙墨晨

写了一个早上,希望对大家有用emotion_编程猫_点赞

点赞2


评论


Little_ProgramLittle_Program

dd

点赞1


评论


流熙墨晨流熙墨晨

我也来个dd吧

 

点赞0


评论


春天的信鸽lsx春天的信鸽lsx

emotion_编程猫_厉害了

点赞0


评论


橘子糖浆小号的小号的小号的小号的小号橘子糖浆小号的小号的小号的小号的小号

标题那个“教程”是怎么加上去的

点赞0


评论


流熙墨晨流熙墨晨

dd

点赞0


评论


流熙墨晨流熙墨晨

 

点赞0


评论


流熙墨晨流熙墨晨

点赞0


评论


流熙墨晨流熙墨晨

 

点赞0


评论


泡杯泡杯

大……大…老…佬emotion_编程猫_紧张

点赞1


评论


流熙墨晨流熙墨晨

点赞0


评论


流熙墨晨流熙墨晨

再次顶

点赞0


评论


SGY风铃小鹿SGY风铃小鹿

我问一下,玩家B的移动怎么做?

点赞0


评论


费斯熊弗雷迪费斯熊弗雷迪

来个截屏。

点赞0


评论


屿鱼雨屿鱼雨

emotion_编程猫_点赞

大佬~~~

拜你为师~~~~~~~~~

点赞0


评论


流熙墨晨流熙墨晨

日常顶帖

 

点赞0


评论


水平喵水平喵

emotion_编程猫_点赞

点赞0


评论


IceGame_已退IceGame_已退

emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞

点赞0


评论


IceGame_已退IceGame_已退

真牛

点赞0


评论


IceGame_已退IceGame_已退

参见大佬

点赞0


评论


流熙墨晨流熙墨晨

顶贴

点赞0


评论


流熙墨晨流熙墨晨

顶帖

点赞0


评论


Moira屑玖iMoira屑玖i

頂頂

点赞0


评论


Moira屑玖iMoira屑玖i

頂頂

点赞0


评论


流熙墨晨流熙墨晨

center_image

点赞0


评论


程序猿C6H806程序猿C6H806

呃呃呃呃呃。。。这个好像不适合做已发布的游戏吧。。。

点赞0


评论