手機游戲> 守望先鋒手游> 游戲攻略> 綜合篇> 《守望先鋒》地圖工坊教程

《守望先鋒》地圖工坊教程

作者:互聯(lián)網(wǎng) 來源:3DM 發(fā)布時間:2024-01-18 01:13:56
上九游,領(lǐng)福利

守望先鋒是一款非?;鸨腇PS加MOBA的結(jié)合類游戲,游戲的人物設(shè)定精美,玩法緊張刺激,同時售價也不高,一經(jīng)推出就收到了非常大的歡迎。很多玩家不知道守望先鋒地圖工坊教程,來看看地圖工坊怎么用。

《守望先鋒》地圖工坊教程

《守望先鋒》地圖工坊教程

本文的目標(biāo)對象,是已經(jīng)有一定地圖工坊編寫經(jīng)驗的朋友。如果你并不熟悉,建議你閱讀其他教程。例如:

[零基礎(chǔ)入門教程]

[在地圖工坊中從零開始創(chuàng)造“生化模式”]

引言

相對于一門編程語言來說,地圖工坊的功能其實非常基礎(chǔ)。它沒有函數(shù),更別提類了。不過,不知道你是否注意到,持續(xù)事件有一個特性:它可以持續(xù)等待,直到條件為真。

編程里面有一個“設(shè)計模式”,叫做“觀察者模式”。它的意思是:當(dāng)一個對象變化時,會自動通知依賴它的對象。

看到這里,不知道你有沒有覺得,持續(xù)事件和觀察者模式是有一定相似之處的:它們都是在“等”一個東西。

簡化規(guī)則

這個東西有什么用?我們可以借此來簡化規(guī)則的編寫。例如,我們要做一個等級系統(tǒng),當(dāng)經(jīng)驗達到100的時候就升一級,死亡的時候就掉50%經(jīng)驗,如果經(jīng)驗是負了,就掉一級。

我們的經(jīng)驗來源可能不止一種,例如在RPG模式里,我們擊殺敵人可以獲得經(jīng)驗,摧毀防御塔也可以獲得經(jīng)驗。當(dāng)我們用傳統(tǒng)辦法寫規(guī)則的時候,我們就需要:

擊殺敵人:增加經(jīng)驗,如果經(jīng)驗>100,增加等級,修改等級BUFF

摧毀防御塔:增加經(jīng)驗,如果經(jīng)驗>100,增加等級,修改等級BUFF

死亡:減少經(jīng)驗,如果經(jīng)驗<0,減少等級,修改等級BUFF

你有沒有覺得,這是一個繁瑣的過程?當(dāng)你需要修改等級BUFF的時候,你需要修改很多條規(guī)則。

我們再分析一下我們的邏輯:實際上,等級什么時候會增加,增加會有什么效果,這并不是我們的“死亡”事件該處理的。

正確的做法是:有一個東西在“看著”經(jīng)驗,當(dāng)它大于100時,就代表升級了。當(dāng)它小于100時,就代表降級了。我們將其解耦后,規(guī)則就變成了:

擊殺敵人:增加經(jīng)驗

摧毀防御塔:增加經(jīng)驗

死亡:減少經(jīng)驗

觀察者1:如果經(jīng)驗>100,增加等級,修改等級BUFF

觀察者2:如果經(jīng)驗<0,減少等級,修改等級BUFF

換做游戲內(nèi)規(guī)則,即是:(假設(shè)用玩家變量A表示等級,玩家變量B表示經(jīng)驗)

擊殺敵人:修改玩家變量(事件玩家, B, 加, 50)

摧毀防御塔:修改玩家變量(事件玩家, B, 加, 30)

死亡:修改玩家變量(事件玩家, B, 減, 50)

觀察者1

事件:持續(xù) - 每名玩家

條件:玩家變量(事件玩家, B) >= 100

動作

修改玩家變量(事件玩家, B, 減, 100)

修改玩家變量(事件玩家, A, 加, 1)

// 這里寫等級變化的邏輯

等待(0.016, 無視條件)

如條件為“真”則循環(huán)

觀察者2

事件:持續(xù) - 每名玩家

條件:玩家變量(事件玩家, B) < 0

動作:

修改玩家變量(事件玩家, B, 加, 100)

修改玩家變量(事件玩家, A, 減, 1)

// 這里寫等級變化的邏輯

等待(0.016, 無視條件)

如條件為“真”則循環(huán)

注意:

一定要注意邏輯設(shè)計上不能存在死循環(huán),例如上面的例子里,觀察者2的條件不能寫“玩家變量 <= 0”。因為當(dāng)玩家經(jīng)驗=100時,觀察者1會將其變?yōu)?,就會觸發(fā)觀察者2。而觀察者2又會再次觸發(fā)觀察者1。這就導(dǎo)致了死循環(huán)的出現(xiàn)。

我們在兩個觀察者最后都加上了循環(huán),目的是打破條件滿足的情況。考慮這種情況:當(dāng)我們一次性給玩家增加300點經(jīng)驗時,按理來說,應(yīng)該讓玩家升3級,但因為我們沒有循環(huán),玩家升了一級就結(jié)束了,并且后續(xù)增加經(jīng)驗,也不會再觸發(fā)升級。只有當(dāng)條件滿足被打破時,條件再次滿足,才會再次觸發(fā)該規(guī)則。

模擬函數(shù)調(diào)用

編程總是免不了函數(shù),但目前為止OW中沒有函數(shù)。但是,我們可以使用上面的方法,來模擬函數(shù)。

還是用上面的例子。你會發(fā)現(xiàn)我們的等級變化邏輯還是寫了兩遍。我們能不能再將其獨立成一個規(guī)則?當(dāng)然是可以的。我們變化的目標(biāo)是玩家,因此我們需要使用一個玩家變量,來標(biāo)記我們需不需要對此玩家執(zhí)行等級變化邏輯。假設(shè)我們使用玩家變量C。

首先,在游戲初始化的時候,將其設(shè)置為假。我們的規(guī)則就可以變成:

觀察者1

事件:持續(xù) - 每名玩家

條件:玩家變量(事件玩家, B) >= 100

動作:

修改玩家變量(事件玩家, B, 減, 100)

修改玩家變量(事件玩家, A, 加, 1)

等待(0.016, 無視條件)

如條件為“真”則循環(huán)

設(shè)置玩家變量(事件玩家, C, 真)

觀察者2

事件:持續(xù) - 每名玩家

條件:玩家變量(事件玩家, B) < 0

動作:

修改玩家變量(事件玩家, B, 加, 100)

修改玩家變量(事件玩家, A, 減, 1)

等待(0.016, 無視條件)

如條件為“真”則循環(huán)

設(shè)置玩家變量(事件玩家, C, 真)

等級變化規(guī)則

事件:持續(xù) - 每名玩家

條件:玩家變量(事件玩家, C) == 真

動作:

// 這里寫等級變化的邏輯

設(shè)置玩家變量(事件玩家, C, 假)

注意:這里只是模擬函數(shù)調(diào)用,但實際上它比函數(shù)還是少很多東西。因此,并不是所有情況都適合這樣寫。

總結(jié)

本文其實并沒有用什么很稀奇古怪的技術(shù),但本文的難點是思路的轉(zhuǎn)變:你需要將幾個本來不相同的邏輯,找出他們的共同點,并巧妙的將其拆分成多個邏輯,然后用規(guī)則來實現(xiàn)。

到底要不要使用這種方式來設(shè)計規(guī)則?你需要考慮它的優(yōu)缺點。它的優(yōu)點有:

將重復(fù)的內(nèi)容獨立出來,減少工作量。

方便以后的修改(不僅需要修改的地方少了,漏改的可能性也更小了)

它也有缺點:

增加了規(guī)則數(shù)量。

增加了邏輯上的復(fù)雜度。

運行效率稍低。

個人認(rèn)為,適當(dāng)?shù)氖褂眠@種思路來設(shè)計規(guī)則,可以減少你的工作量和維護難度。但并不代表這種方式一定就是最好的,你應(yīng)當(dāng)考慮你的實際情況。

熱門游戲

守望先鋒
守望先鋒
t21_2-t21_1:0.0
休閑
一款團隊第一人稱射擊游戲
t21_4-t21_3:0.0
電腦版 加速器
最新動態(tài),一手掌握
加速器下載 九游預(yù)約

玩家評論

(3733條)
加入九游群聊,開黑不愁,禮包全有
下載九游APP
點擊下載按鈕,或用手機二維碼掃描可直接下載對應(yīng)安裝包!
立即下載九游APP

全部評論

  • 豌豆ax1wn8 來自于 九游APP 2024-10-01 19:38

    希望快點出,我都等了很久了,他已經(jīng)陪伴我一年的時間了,求求快點出,最新款的破壞球,我家都擺了各種各樣的破壞球模型

  • 豌豆z1jru0 來自于 九游APP 2024-10-30 19:15

    快點出吧!太想玩了!

  • 幽靈一魔女11 來自于 九游APP 2024-11-12 10:25

    以前玩過,覺得特別好玩,希望能快點出

  • 九游玩家7lz2g2h6m4z4 來自于 九游APP 2024-08-16 08:08

    畫面非常清晰。嗯,試玩版那個玩法有很多

  • 克隆夕小磁怪74 來自于 九游APP 2024-08-18 16:57

    好玩太好玩的,太好玩了,太好玩了,太好

  • 阿玖陪你看日落 來自于 九游APP 2024-06-23 07:29

    這不像正常下載的正版的那個樣子嗯,我說的是他的圖標(biāo)我玩過特別好玩,是電腦上玩的,電腦上的已經(jīng)上架了,這為什么要下架但是突然登不上去了

  • 豌豆a9j4lr 來自于 九游APP 2024-07-06 11:45

    還沒有玩,但是感覺這款游戲給人帶來了一種非常好玩的感覺

  • 九游玩家401573411 來自于 九游APP 2017-07-15 20:27

    想要馬上玩手機版的守望先鋒的點贊。我不是騙贊的我只想知道守望先鋒有幾個人在玩。

  • 源滅斬 來自于 九游APP 2020-05-18 22:58

    本人守望迷,但是我相信手機不會出的,至少要等幾年,現(xiàn)在守望先鋒在退出守望2,沒有時間做手游,況且暴雪并不怎么支持手游,手游里只有一個爐石傳說,剩下的在現(xiàn)在的手機上很難做出來。模型就是一個問題。不過手游上有一些盜版守望先鋒,質(zhì)量并不怎么好比如說:王牌特工。但是還是期待守望先鋒出手游版。但是我有端游了,不會在特別在意。。。

  • 九游玩家7lyv14hp3tnw 來自于 九游APP 2020-01-23 21:20

    預(yù)約等不起的別酸,要么去買個電腦配置,花點小錢買個正版,好好打上一把不行??酸您媽呢,等不起去買啊,人家愛怎么出怎么出管得著么??刷存在感真是??

t26_2-t26_1:4.0

其他玩家還在玩

  • 相關(guān)閱讀

  • 最新文章

守望先鋒

守望先鋒
類型:休閑
安卓:運營
訂閱
守望先鋒國際服 是一款動作游戲,有著不同的玩法,讓玩家可以選擇不同的游 [詳情]

守望先鋒國際服 是一款動作游戲,有著不同的玩法,讓玩家可以選擇不同的游戲模式進行戰(zhàn)斗,可以選擇團戰(zhàn),也可以選擇個人比賽,讓玩家體驗控制英雄參與戰(zhàn)斗的操作玩法有清爽的戰(zhàn)斗內(nèi)容,帶來刺激元素。有需要的朋友快來下載使用吧!

開發(fā)者:九游

tgamedetail_ff_2-tgamedetail_ff_1:20.0

tgamedetail_ff_3-tgamedetail_ff_2:1.0

tgamedetail_ff_4-tgamedetail_ff_3:3.0

tgamedetail_ff_5-tgamedetail_ff_4:3.0

tgamedetail_ff_6-tgamedetail_ff_5:5.0

tgamedetail_ff_6-tgamedetail_ff_1:32.0

t10_2-t10_1:2.0

t10_3-t10_2:3.0

t10_4-t10_3:4.0

t10_5-t10_4:3.0

t10_6-t10_5:0.0

t10_6-t10_1:12.0

t40_2-t40_1:4.0

相關(guān)專題

最新專題

預(yù)約游戲
掃描二維碼下載九游app預(yù)約游戲
第一時間接受活動,禮包,開測下載提醒
掃碼領(lǐng)取福利

下載九游APP,可獲取更多禮包和攻略視頻

九游云游戲
電腦也能玩手游 · 無需下載 · 不占空間 · 點擊即玩
在線玩

t2627_2_2627_1:5.0

t1-t0:33.0

t2-t1:6.0

t3-t2:0.0

t4-t3:2.0

t5-t4:12.0

t6-t5:15.0

t7-t6:3.0

t8-t7:0.0

t9-t8:11.0

t10-t9:0.0

t11-t10:3.0

t12-t11:0.0

t13-t12:0.0

t14-t13:0.0

t15-t14:0.0

t16-t15:0.0

t17-t16:1.0

t18-t17:30.0

t19-t18:3.0

t20-t19:1.0

t21-t20:0.0

t22-t21:0.0

t23-t22:5.0

t24-t23:0.0

t25-t24:16.0

t26-t25:0.0

t27-t26:4.0

t28-t27:3.0

t29-t28:0.0

t30-t29:2.0

t31-t30:0.0

t32-t31:1.0

t33-t32:0.0

t34-t33:1.0

t35-t34:0.0

t36-t35:0.0

t37-t36:33.0

t38-t37:12.0

t39-t38:0.0

t40-t39:0.0

t41-t40:4.0

t42-t41:20.0

t43-t42:0.0

t44-t43:29.0

t45-t44:12.0

t46-t45:0.0

t47-t46:0.0

t48-t47:3.0

t49-t48:0.0

t50-t49:2.0

t51-t50:2.0

t52-t51:0.0

t52-t0:269.0