欢迎光临散文网 会员登陆 & 注册

Gandi Simple MMO 教程!

2023-02-19 18:26 作者:共创世界的积木  | 我要投稿

温馨提示:

该教程适用于Gandi编辑器,如果你是用的不是Gandi,可以在:

https://www.ccw.site/ 注册一个账号,然后点击【去创作】,将默认编辑器选为Gandi,或在

https://getgandi.com/ ,点击【Try It Now!】

搞到编辑器哦 !


作者声明:

此文章并不是纯原创,感谢“家铭Jamin@共创世界”的支持。

如果家铭老师认为我侵权,我可以随时删除这篇文章。


在开始之前......

准备好Gandi!

下载Simple MMO!

创建玩家角色!

在开始之前,你们得认识两个概念:

游戏大厅:类似于选择房间的界面

游戏室:一个游戏大厅的房间


我们需要认识必备代码其中的两个块:

别说这几个代码块真的很有用啊

以服务器ID加入(哈哈一点违和感没有)

那么这是什么呢?

这是一个基础代码块,可以实现加入一个游戏室(通俗的说是加入房间)

这是它的变体O
以会话ID为数据源克隆自己

那么这又是什么呢?

这是一个听起来很复杂的代码块,它的作用是创建出玩家角色(当然包括工具人克隆体),我们以后讲这个代码块,肥肠的有用昂


1.构建进入房间的程序

这个其实非常简单,只需要一点点Sc基础

在游戏开始时(当小绿旗被点击)就可以加入房间啦!不知道B站的肝酱听懂了吗?不懂的看伪代码:

当游戏开始时

以服务器ID加入房间

简单吧?接下来我们将构建玩家进入房间而显示的程序。


2.构建进入房间与退出房间的响应

这里我们要认识几个新积木啦!

当我进入房间时(这是重点)

你们可以这样理解:

我连入房间时,执行下面的代码。


大概的设计思路:

在我连入房间时,播放音效,克隆出其他的玩家;

在其他玩家连入房间时,如果不是我,克隆他;

有玩家离开时,删除克隆体。


好的我们满足第一项:

我还是不想太早给B站肝酱们剧透呀,那就先看伪代码吧!

什么?你说我不放图片?哔粉们别急呀~

当我进入房间时

播放音效

一直等待到房间的人数大于零

将变量索引设为0

重复房间的人数次:

以第索引个玩家的会话ID克隆自己

索引增加一

B粉:啊啊啊说这么多我脑袋都快炸了

放插图!


怎么样?代码只有亿点点。


为了保证每个克隆体都在正常的位置显示:

这个时候我们要用到的新代码块比较多,就不一一陈述了(是 一 一 ,不是——)

Simple MMO 不会给每个克隆体默认程序,请依照自己的需求进行操作改善(此段针对小地图)

所以,如果你想做大地图,看完这篇教程,不妨看看这些视频!(别忘了改程序)

好的步入正题,我们要写的非常简单!

简单来说,就是让非玩家每个克隆体移到对应的位置,而且让自己的位置时刻同步至云端,并变得可以操控。

非常简单啊!就是套的东西有点多。

还是先看伪代码:

当作为工具人启动时

如果克隆体是我自己:

    一直执行:

    如果按下了W键:

    面向上面

    往前走10步

    如果按下了S键:

    面向下面

    往前走10步

    如果按下了A键:

    面向左边

    往前走10步

    如果按下了D键:

    面向右边

    往前走10步

    同步我的云端X和Y为我的X和Y

否则:

    一直执行:

    移到此克隆体的云端坐标

哔哩哔哩小电视:我的天啊都1000字了

上插图!

哈哈很长吧

接下来,我们将要编写在任意玩家状态发生改变时刷新画面的程序

所以呢,伪代码上线!

当房间内有玩家状态改变时

如果克隆体是其他玩家,并且此克隆体的会话ID是最近改变状态的玩家会话ID:

刷新他的位置

B粉:这还差不多,就是第二行好长

上插图!

哈哈非常简单!

第二项开干!

我们开始实现其他玩家加入的流程。

我们需要认识到一个块块:

当新玩家连入时

这个块的作用:在玩家加入房间时执行。

所以,上伪代码!!!

在新玩家连入时

如果不是克隆体,并且我的会话ID不是刚刚连入玩家的会话ID:

以刚连入玩家的会话ID为数据源克隆自己

哔哩哔哩小电视:真不错

上插图!

So Easy

第三项!!!

所以!我们又需要认识新的积木块!

看!这是当玩家离开时!

再来介绍作用:在任意玩家离开时,返回信息,执行下面的代码。

当我连接被异常断开时!

介绍来喽:当我的连接被断开时,执行下面的代码(当然可以被“断开”积木块触发)

你在叫我吗?

先不看伪代码,说这段代码的功能:检索克隆体会话ID,相等后,删除它。

接下来请出我们的伪代码!!!

当有玩家断开连接时:

如果当前克隆体的会话ID是最近离开房间的玩家会话ID:

删除工具人(克隆体:WHAT)

哈哈非常简单!

肥肠简单!(当然也可以放个音效)(我忘记了)

3.让玩家认出我是谁?我在哪?

大家有没有一个非常尴尬的事情

打开我刚做好的联机游戏!加入有10人的房间!

...我人呢?

所以!

让自己的角色与众不同!选皮肤、高亮度、自己和别人的造型不同!

好了,本期文章结束啦,喜欢的别忘了给我一个三连

本UP主在B站第一次投稿,支持一下!

Gandi Simple MMO 教程!的评论 (共 条)

分享到微博请遵守国家法律