Gandi Simple MMO 教程!
温馨提示:
该教程适用于Gandi编辑器,如果你是用的不是Gandi,可以在:
https://www.ccw.site/ 注册一个账号,然后点击【去创作】,将默认编辑器选为Gandi,或在
https://getgandi.com/ ,点击【Try It Now!】
搞到编辑器哦 !
作者声明:
此文章并不是纯原创,感谢“家铭Jamin@共创世界”的支持。
如果家铭老师认为我侵权,我可以随时删除这篇文章。
在开始之前......
准备好Gandi!
下载Simple MMO!
创建玩家角色!

在开始之前,你们得认识两个概念:
游戏大厅:类似于选择房间的界面
游戏室:一个游戏大厅的房间
我们需要认识必备代码其中的两个块:
别说这几个代码块真的很有用啊

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


那么这又是什么呢?
这是一个听起来很复杂的代码块,它的作用是创建出玩家角色(当然包括工具人克隆体),我们以后讲这个代码块,肥肠的有用昂
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为数据源克隆自己
哔哩哔哩小电视:真不错
上插图!

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

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

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

先不看伪代码,说这段代码的功能:检索克隆体会话ID,相等后,删除它。
接下来请出我们的伪代码!!!
当有玩家断开连接时:
如果当前克隆体的会话ID是最近离开房间的玩家会话ID:
删除工具人(克隆体:WHAT)
哈哈非常简单!

3.让玩家认出我是谁?我在哪?
大家有没有一个非常尴尬的事情
打开我刚做好的联机游戏!加入有10人的房间!
...我人呢?
所以!
让自己的角色与众不同!选皮肤、高亮度、自己和别人的造型不同!

好了,本期文章结束啦,喜欢的别忘了给我一个三连!
本UP主在B站第一次投稿,支持一下!

