Gandi Simple MMO 教程!
溫馨提示:
該教程適用于Gandi編輯器,如果你是用的不是Gandi,可以在:
https://www.ccw.site/ 注冊(cè)一個(gè)賬號(hào),然后點(diǎn)擊【去創(chuàng)作】,將默認(rèn)編輯器選為Gandi,或在
https://getgandi.com/ ,點(diǎn)擊【Try It Now!】
搞到編輯器哦?!
作者聲明:
此文章并不是純?cè)瓌?chuàng),感謝“家銘Jamin@共創(chuàng)世界”的支持。
如果家銘老師認(rèn)為我侵權(quán),我可以隨時(shí)刪除這篇文章。
在開(kāi)始之前......
準(zhǔn)備好Gandi!
下載Simple MMO!
創(chuàng)建玩家角色!

在開(kāi)始之前,你們得認(rèn)識(shí)兩個(gè)概念:
游戲大廳:類(lèi)似于選擇房間的界面
游戲室:一個(gè)游戲大廳的房間
我們需要認(rèn)識(shí)必備代碼其中的兩個(gè)塊:
別說(shuō)這幾個(gè)代碼塊真的很有用啊

那么這是什么呢?
這是一個(gè)基礎(chǔ)代碼塊,可以實(shí)現(xiàn)加入一個(gè)游戲室(通俗的說(shuō)是加入房間)


那么這又是什么呢?
這是一個(gè)聽(tīng)起來(lái)很復(fù)雜的代碼塊,它的作用是創(chuàng)建出玩家角色(當(dāng)然包括工具人克隆體),我們以后講這個(gè)代碼塊,肥腸的有用昂
1.構(gòu)建進(jìn)入房間的程序
這個(gè)其實(shí)非常簡(jiǎn)單,只需要一點(diǎn)點(diǎn)Sc基礎(chǔ)
在游戲開(kāi)始時(shí)(當(dāng)小綠旗被點(diǎn)擊)就可以加入房間啦!不知道B站的肝醬聽(tīng)懂了嗎?不懂的看偽代碼:
當(dāng)游戲開(kāi)始時(shí)
以服務(wù)器ID加入房間
簡(jiǎn)單吧?接下來(lái)我們將構(gòu)建玩家進(jìn)入房間而顯示的程序。
2.構(gòu)建進(jìn)入房間與退出房間的響應(yīng)
這里我們要認(rèn)識(shí)幾個(gè)新積木啦!

你們可以這樣理解:
我連入房間時(shí),執(zhí)行下面的代碼。
大概的設(shè)計(jì)思路:
在我連入房間時(shí),播放音效,克隆出其他的玩家;
在其他玩家連入房間時(shí),如果不是我,克隆他;
有玩家離開(kāi)時(shí),刪除克隆體。
好的我們滿足第一項(xiàng):
我還是不想太早給B站肝醬們劇透呀,那就先看偽代碼吧!
什么?你說(shuō)我不放圖片?嗶粉們別急呀~
當(dāng)我進(jìn)入房間時(shí)
播放音效
一直等待到房間的人數(shù)大于零
將變量索引設(shè)為0
重復(fù)房間的人數(shù)次:
以第索引個(gè)玩家的會(huì)話ID克隆自己
索引增加一
B粉:啊啊啊說(shuō)這么多我腦袋都快炸了
放插圖!

為了保證每個(gè)克隆體都在正常的位置顯示:
這個(gè)時(shí)候我們要用到的新代碼塊比較多,就不一一陳述了(是 一 一 ,不是——)
Simple MMO 不會(huì)給每個(gè)克隆體默認(rèn)程序,請(qǐng)依照自己的需求進(jìn)行操作改善(此段針對(duì)小地圖)
所以,如果你想做大地圖,看完這篇教程,不妨看看這些視頻!(別忘了改程序)



好的步入正題,我們要寫(xiě)的非常簡(jiǎn)單!
簡(jiǎn)單來(lái)說(shuō),就是讓非玩家每個(gè)克隆體移到對(duì)應(yīng)的位置,而且讓自己的位置時(shí)刻同步至云端,并變得可以操控。
非常簡(jiǎn)單?。【褪翘椎臇|西有點(diǎn)多。
還是先看偽代碼:
當(dāng)作為工具人啟動(dòng)時(shí)
如果克隆體是我自己:
????一直執(zhí)行:
????如果按下了W鍵:
????面向上面
????往前走10步
????如果按下了S鍵:
????面向下面
????往前走10步
????如果按下了A鍵:
????面向左邊
????往前走10步
????如果按下了D鍵:
????面向右邊
????往前走10步
????同步我的云端X和Y為我的X和Y
否則:
????一直執(zhí)行:
????移到此克隆體的云端坐標(biāo)
嗶哩嗶哩小電視:我的天啊都1000字了
上插圖!

接下來(lái),我們將要編寫(xiě)在任意玩家狀態(tài)發(fā)生改變時(shí)刷新畫(huà)面的程序
所以呢,偽代碼上線!
當(dāng)房間內(nèi)有玩家狀態(tài)改變時(shí)
如果克隆體是其他玩家,并且此克隆體的會(huì)話ID是最近改變狀態(tài)的玩家會(huì)話ID:
刷新他的位置
B粉:這還差不多,就是第二行好長(zhǎng)
上插圖!

第二項(xiàng)開(kāi)干!
我們開(kāi)始實(shí)現(xiàn)其他玩家加入的流程。
我們需要認(rèn)識(shí)到一個(gè)塊塊:

這個(gè)塊的作用:在玩家加入房間時(shí)執(zhí)行。
所以,上偽代碼!?。?/p>
在新玩家連入時(shí)
如果不是克隆體,并且我的會(huì)話ID不是剛剛連入玩家的會(huì)話ID:
以剛連入玩家的會(huì)話ID為數(shù)據(jù)源克隆自己
嗶哩嗶哩小電視:真不錯(cuò)
上插圖!

第三項(xiàng)?。。?/strong>
所以!我們又需要認(rèn)識(shí)新的積木塊!

再來(lái)介紹作用:在任意玩家離開(kāi)時(shí),返回信息,執(zhí)行下面的代碼。

介紹來(lái)嘍:當(dāng)我的連接被斷開(kāi)時(shí),執(zhí)行下面的代碼(當(dāng)然可以被“斷開(kāi)”積木塊觸發(fā))

先不看偽代碼,說(shuō)這段代碼的功能:檢索克隆體會(huì)話ID,相等后,刪除它。
接下來(lái)請(qǐng)出我們的偽代碼!??!
當(dāng)有玩家斷開(kāi)連接時(shí):
如果當(dāng)前克隆體的會(huì)話ID是最近離開(kāi)房間的玩家會(huì)話ID:
刪除工具人(克隆體:WHAT)
哈哈非常簡(jiǎn)單!

3.讓玩家認(rèn)出我是誰(shuí)?我在哪?
大家有沒(méi)有一個(gè)非常尷尬的事情
打開(kāi)我剛做好的聯(lián)機(jī)游戲!加入有10人的房間!
...我人呢?
所以!
讓自己的角色與眾不同!選皮膚、高亮度、自己和別人的造型不同!

好了,本期文章結(jié)束啦,喜歡的別忘了給我一個(gè)三連!
本UP主在B站第一次投稿,支持一下!