猫史档案馆


【CC图鉴】如何利用云变量与列表制作联机游戏

用户:传闻中的三叶传闻中的三叶查看:1 回复:7 评论:1 创建时间:2019-08-16T10:47:24


CC图鉴-如何利用云变量与列表制作联机游戏

 

看到论坛上有很多萌新不明白云变量如何使用,也有很多人对联机很感兴趣,但又没有头绪,所以我今天就来详细讲解一下云功能的使用与定义。

信息量较大,可以分开读

(一)云功能的定义

云变量与普通变量不同的地方即是一个需要网络,另一个不需要。

云变量使用者需要登录,普通变量则不需要,云列表也是如此,而正是云功能让所有编程猫的训练师们有了更广阔的发挥空间。

云变量有两种:私有云变量以及公有云变量。

其实很好理解:

公有云变量指的是所有用户、游客共享的变量,无论任何访客都可以使用的变量。

私有云变量则指每一个用户虽然表面上使用的是同一个变量,但是这个私有云变量对于每一个用户来看,显示的内容都是不同的。

我们来做一个很直观的对比,下面我使用A来代表一个变量:

私有云变量:

A—A1—阿短

  —A2—编程猫

  —A3—小美

公有云变量:

A—阿短、编程猫、小美

而它们的运用方向也很不同,举个例子:

私有云变量可以用户储存密码与账户信息、制作排行榜或游戏进度的存档。

而公有云变量或列表则用于联机游戏、聊天室或制作公告栏等等。

(二)云功能的使用

1)匹配功能

匹配是一个有联机功能的游戏的一个很重要的部分,匹配就是找到同时在线几个游客,让这几个客户端暂时成为朋友。

首先需要一个云列表,我们可以把它命名为“人员构成”

第一个点下匹配按钮的人会被第一个添加到“人员构成”列表。

我们称第一个点下匹配按钮的人为蓝方

第二个点下匹配按钮的人会被第二个添加到“人员构成”列表。

我们称第二个点下匹配按钮的人为红方

列表中已经有两人了,此时需要将“匹配按钮”替换成“参与观战”

点下观战按钮的人会被添加到“人员构成”列表。

我们称点下观战按钮的人为观战者

观战者此处我不做详细讲解。

当列表满3项时,切换“观战”按钮为“房间已满”

2)游戏内容

我们拿“云业余”的作品“粒子战衣”做例子,是一个红蓝两方对抗的游戏。

如果玩家在人员构成列表中的项数为1,那么他就是蓝方;

如果是2,那么他就是红方;

如果是第3项,那么他就是观战者。

如果是蓝方,那就操控蓝方角色;

如果是红方,则操控红方角色;

这时,再创建一个云列表,可以命名为“游戏内容”

游戏内容列表用于存储红蓝两方的XY坐标、方向、红蓝两方攻击信息等等。

重复执行让红蓝两方角色移动至列表存储的坐标位置,重复面向列表存储的方向,如果接到攻击信息,那么克隆一枚子弹向与角色同样面向的方向发射。

红蓝方只能操作自己的角色,观战方则不能操作任何角色。

再加上胜败检测的机制,这个游戏就基本完成了,当然只是一个雏形。

3)在线监测

如果有两方玩家都在游戏中掉线怎么办呢?还不是一直占用着房间吗?

所以要加入在线检测系统,其实非常简单。

在游戏内容云列表中插入两项,分别代表红蓝两方的计数器,我们可以成为红蓝方心跳。

0.1秒将红蓝心跳各加1,当达到10的时候清零,重复地从010、从010

而在计数的同时,检测红蓝两方的数字是否一致,如果不一致的次数达到50次,那么判定其中一方掉线。

注意,每方只负责自己的心跳,不给对方加减心跳。

还有另一种方式,比较简单,如果某一方原地不动超过X秒,那么判定他处于掉线的状态。


回复

上一页1 页 / 共 1下一页
箱子BOX箱子BOX

点赞0


评论


箱子BOX箱子BOX

center_image

 

点赞0


评论


平凡的任晓笑平凡的任晓笑

留档

点赞0


评论


WangYxWangYx

emotion_编程猫_点赞

点赞0


评论


陌路丿涟源陌路丿涟源

VGDSV

 

点赞0


评论


物理还需悟理物理还需悟理

我判定离线的方式不一样:

center_image

点赞0


评论


SYS传闻中的四月SYS传闻中的四月

能考古吗

点赞1


评论