猫史档案馆


Lumions

Lumions

Lv.1

获赞:200收藏:105浏览:2430作品收藏:36
回复帖子评论
上一页3 页 / 共 6下一页

闲着没事干开的封面小店 中回复

封面用途:作品

主颜色:浅颜色,冷色调,科幻

其他:动图

备注:作品名称:《网络小世界》

2022-09-10T22:18:55 点赞:0

闲着没事干开的封面小店 中回复

顶顶顶

2022-09-10T22:19:25 点赞:0

怎么获得工作室的图片? 中回复

谷歌浏览器鼠标右键工作室图片,点击图片另存为就可以了

 

2022-09-11T19:56:50 点赞:0

kitten1喵了? 中回复

..........

2022-09-11T21:41:15 点赞:0

kitten1喵了? 中回复

K2链接:https://old-kitten.codemao.cn/

2022-09-11T21:41:31 点赞:0

怎么才能让排行榜变成数值越低就排第一? 中回复

相反数

2022-09-11T21:43:46 点赞:0

分隔符问题 中回复

这不就是二维数组吗

2022-09-17T12:14:55 点赞:1

一个关于K4的急求!!! 中回复

这个简单,先新建一个变量广播(就是一个变量),然后如果A碰住B那么设置变量的值为1。   如果变量等于一那么删除自己

2022-09-17T12:28:48 点赞:0

教你做出app更新系统! 中回复

新建的云数据库的信息是数字还是字符串还是布尔值

2022-09-17T13:05:19 点赞:0

喵!可以打电话、浏览网页的RE浏览器3 中回复

打电话和浏览网页一个比一个简单...有打电话控件,有网页框控件。你基本什么也没干

2022-09-25T18:37:27 点赞:0

COCO制做测试的时候白屏,怎么回事?重启电脑也不行! 中回复

截图看一下

2022-10-05T16:50:16 点赞:0

COCO应用创作这怎么用 中回复

先这样在那样接着这样就可以了

2022-10-06T14:04:18 点赞:0

为啥COCO没有教程? 中回复

没有???https://www.yuque.com/coco-central/guide/welcome吗

2022-10-06T14:07:30 点赞:0

BOX3 Blockly图形化意见反馈 中回复

没法用啊

 

2022-10-21T21:37:17 点赞:0

记录,看看猫站用户最高年龄是多少? 中回复

11

2022-11-03T14:42:33 点赞:0

联机游戏怎么做? 中回复

一、误区

最初我和大多数人一样,都认为联机是大佬才会的东西,是很复杂的,其实不然。按照一开始的想法,联机游戏应该是有很多人同时在匹配,然后随机两两配对,也就是同一个游戏有很多人同时在联机玩。后来发现这其实是错的!

其实联机游戏,就是按照点击匹配按钮的先后,决定最先点击的两个人进入对战。

二、联机的核心机制

在做完《契灵者》后,我才开始思考联机游戏,买了《战棋》看了源码,对于萌新的我,还是不懂。去社区搜索联机教程,发现也是寥寥无几。然后终于有一天,我想明白了。

今天我教大家的是抛开其它复杂的排队,检测离线,如何在两个玩家间产生联动等等东西,这些咱们先不想,咱们就先思考如何匹配!

联机游戏的核心是云变量,有了云变量,才能实现联机,而实现匹配跳转,只需要两个云变量。

三、如何匹配

1、添加云变量模块(如果连如何添加云变量都不会的话,请不用看这个教程了哈),新建一个云变量命名为“玩家编号”,另一个命名为“房间”。

center_image

center_image

2.添加一个匹配按钮,在按钮上拼积木。

center_image

接下来解释一下这段积木的意思。

当开始匹配按钮被点击的时候,让云变量“玩家编码”增加1,云变量“房间”增加1,普通变量玩家等于此时的云变量“玩家编码”。

问:为什么要让云变量加1呢?

第一个云变量“玩家编码”,是为了在联机中区分谁是玩家1,谁是玩家2,不同的玩家看到的画面当然都是相对的,这个暂时不说,今天单说匹配。

想象一下,老师手里拿着一副按从小到大顺序放好的数字扑克牌。老师要你们一个一个上来领一张扑克牌。第一个拿到扑克牌的人,手里的扑克牌就是1,轮到第二个人的时候,他拿到的扑克牌自然就是2了,第三个人拿到的,当然就是3的扑克牌了,以此类推。

然后老师说,拿到扑克1和扑克2的人,上台来打架……(当然是不可能的!)然后对战就开始了。

同理,如果云变量“玩家编码”的初始值是0,点击一下,云变量变成1了,然后用一个普通变量去等于此刻云变量的值,那么你的号码牌已经确定了,你就是编号为1 的玩家。如果这时候有第二个人点击,云编号是不是又增加1了?那么此时云变量等于2,第二个人也用普通变量等值于此刻的云变量,那么第二个玩家的编号就等于2了。

这个时候玩家的编号就确定了,第一个点击的是玩家1,第二个点击的是玩家2.

既然已经凑齐人了,是不是该开打了?如何判断人够了?这就是云变量“房间”的作用!

每点击一次,房间云变量增加1,所以有两个人点击匹配,房间的值就变成2了。也就是说,现在有两个人了,可以开撸了。所以后面的“如果”语句,就是判断是否该跳转对战了。

于是,可以开始联机了。

问:如果我拼命点击,岂不是自己和自己打了?

理论上是这样,但为了防止同一个玩家没事做,自己点两次匹配,一般都会加一个匹配中的造型,然后来点动画效果,加个积木重复执行直到房间人数等于2。这样的话,按钮程序会在动画效果里循环,同一个玩家点击便不会有变量的改变了。

问:如果有人在对战了,其他人也点击了怎么办?

当然,刚才给大家的代码是不齐全的。可以增加一个当点击时,如果房间人数小于2,正常匹配,否则新建对话“有人在对战了”或者干脆没反应,自由发挥。

问:联机真的这么简单么?

联机当然没有那么简单,要考虑的东西很多。比如有人觉得不好玩喀拉一声就直接关掉网页或者界面怎么办?房间岂不是一直被霸占着?比如怎么样让玩家1看到的和玩家2看到的画面是相对的,很多东西都要考虑,还需要用到很多的云变量去同步两个玩家的状态。

所以建议大家如果要做联机游戏,一开始做些简单的。比如联机石头剪刀布,联机掷骰子之类的,只需要一两个云变量就能同步的游戏。

最后说一句,光看教程没有用,只有正真动手做才能真正进步和学会知识。

贴上我的联机游戏《吃鸡战场:粒子战衣》给大家体验一下。以后会开源的。https://shequ.codemao.cn/work/30193091?entry=copy_work_url

 

复制center_image

复制的

2022-11-13T17:06:53 点赞:3

【求助】COCO用户数据库查询是否存在,以及微格表的查询 中回复

 

2022-11-30T07:42:08 点赞:1

私有云变量不够用怎么办 中回复

用个二维数组

2023-01-13T21:50:02 点赞:0

生成exe之后,界面提示是预浏模式,无法使用云变量,请问如何解决 中回复

没办法

 

2023-01-13T21:50:20 点赞:0

啊啊啊啊啊啊啊啊啊啊啊啊,都快过年了,官方为什么还不弄一个活动! 中回复

岛三,好多都有活动

2023-01-13T21:53:29 点赞:0

【恒光学院】与民同乐+征稿(()()( 中回复

喵,大哥,这号...好像是我的啊,最后那张不是我的号吗?

2023-01-15T18:19:41 点赞:0

全box最真实建筑,没有之一 中回复

代码生成的,有本事搞上内饰啊

2023-01-16T08:49:16 点赞:0

【Pycharm使用技巧】如何安装第三方库 中回复

还是c++好

2023-01-16T09:08:48 点赞:0

为编程猫提出以下建议 中回复

你这方喵让编程猫离嘎再进一步

2023-01-16T09:14:47 点赞:5

怎么做塔防 中回复

先这样,再那样,然后这样,再那样最后这样就可以了emotion_编程猫_厉害了

2023-01-16T09:15:35 点赞:0

系统停止运行公告 中回复

神马玩意

2023-01-16T09:17:26 点赞:1

【一个烂活awa】退喵信…? 中回复

呵呵,喵流量...😒😒😒

2023-01-16T23:01:09 点赞:0

【不喜可举报】退猫信 中回复

10位ID...

2023-01-16T23:22:11 点赞:0

【徒弟招募】本人招募最后一个徒弟传授毕生所学 中回复

我可以吗,没有被封过号,不过曾经有过帖子被举报删了,起码对各种积木十分熟悉,也会一些小技巧(算法)WX/QQ

2023-01-17T08:42:36 点赞:0

如星头像坊二号(啥都做)免费免费免费 中回复

主要文字是“春节倒计时”

红配黄

静态

简约

否,最后要图片

应用图标(更COCO打包时应用图标差不多)

《加急》《二重加急》《三重加急》

2023-01-17T08:49:02 点赞:0