用户:
阳光的流熔怪Uyt5查看:23 回复:17 评论:23 创建时间:2021-01-06T22:22:02

源灵工作室 一个路人 出品
上一节课链接:https://shequ.codemao.cn/wiki/forum/35喵21
ho大家好这里路人
那么这节课来讲讲如何实现啦
上个教程我们说了用云列表存储信息,用数数法判断各人是否在线
对于之前讲过的云变量数组,我们将它称为playerData,另建一个云数组playerName表示玩家名称,两个数组保持同步
首先,当一个玩家加入游戏(表现为一个脚本开始,当开始被点击)
我们需要判断这个玩家是否有记录(表现为playerName中是否有玩家名称)
如果玩家有记录,那么将角色移动到方块位置并且更新当前的响应t
否则在playerName和playerData中加入玩家名称,默认位置50,50,并且响应t
如果按照我们上一段中的思路,三个变量xyt都要新开一个云数组来分别存储
这里路人教给大家一个更好的办法:字符分割
将x:50,y:50,t:1(三个列表)变成50$50$1(一个列表就可以)
可以看出这是将三个数字放在一起并在中间插入$作为分隔
这样实现:
![]()
能存储,还要能读取:

这样我们就可以只用一个云列表来存储三个云列表的内容啦!
这就是本章的核心技术:压缩变量
(欧耶)
那么这就是当玩家加入游戏时的代码

看起来很长,但其实不难,仔细看很容易看懂,加油
完成了原始化数组后,接下来要考虑的是判断玩家是否在线,用我们之前说过的方法
先创建一个变量getting,表示当前是否正在验证在线
当getting=0时,别的程序就知道需要验证了
所以,当前秒数为整秒且还没有人停止时,我们就停止验证并等一会儿开始认证(保证不会多人同时停止验证)
(getting=0表示正在验证)


慢着,如果某个开始到一半突然猝 喵(划去)退出怎么办?如果是这样的话程序就会卡住


用这个就可以防止程序卡在开始阶段
那么,当getting=0,响应下
![]()

这一章的代码看似很长,实则很好理解,反复读便可,我们下一篇教程见
(完)
作业:试试实现不更改坐标,在云变量压缩存储方式下写出上下左右移动代码