手機(jī)游戲> 守望先鋒手游> 游戲攻略> 綜合篇> 《守望先鋒》地圖工坊教程
《守望先鋒》地圖工坊教程
守望先鋒是一款非常火爆的FPS加MOBA的結(jié)合類(lèi)游戲,游戲的人物設(shè)定精美,玩法緊張刺激,同時(shí)售價(jià)也不高,一經(jīng)推出就收到了非常大的歡迎。很多玩家不知道守望先鋒地圖工坊教程,來(lái)看看地圖工坊怎么用。
《守望先鋒》地圖工坊教程
本文的目標(biāo)對(duì)象,是已經(jīng)有一定地圖工坊編寫(xiě)經(jīng)驗(yàn)的朋友。如果你并不熟悉,建議你閱讀其他教程。例如:
[零基礎(chǔ)入門(mén)教程]
[在地圖工坊中從零開(kāi)始創(chuàng)造“生化模式”]
引言
相對(duì)于一門(mén)編程語(yǔ)言來(lái)說(shuō),地圖工坊的功能其實(shí)非?;A(chǔ)。它沒(méi)有函數(shù),更別提類(lèi)了。不過(guò),不知道你是否注意到,持續(xù)事件有一個(gè)特性:它可以持續(xù)等待,直到條件為真。
編程里面有一個(gè)“設(shè)計(jì)模式”,叫做“觀察者模式”。它的意思是:當(dāng)一個(gè)對(duì)象變化時(shí),會(huì)自動(dòng)通知依賴(lài)它的對(duì)象。
看到這里,不知道你有沒(méi)有覺(jué)得,持續(xù)事件和觀察者模式是有一定相似之處的:它們都是在“等”一個(gè)東西。
簡(jiǎn)化規(guī)則
這個(gè)東西有什么用?我們可以借此來(lái)簡(jiǎn)化規(guī)則的編寫(xiě)。例如,我們要做一個(gè)等級(jí)系統(tǒng),當(dāng)經(jīng)驗(yàn)達(dá)到100的時(shí)候就升一級(jí),死亡的時(shí)候就掉50%經(jīng)驗(yàn),如果經(jīng)驗(yàn)是負(fù)了,就掉一級(jí)。
我們的經(jīng)驗(yàn)來(lái)源可能不止一種,例如在RPG模式里,我們擊殺敵人可以獲得經(jīng)驗(yàn),摧毀防御塔也可以獲得經(jīng)驗(yàn)。當(dāng)我們用傳統(tǒng)辦法寫(xiě)規(guī)則的時(shí)候,我們就需要:
擊殺敵人:增加經(jīng)驗(yàn),如果經(jīng)驗(yàn)>100,增加等級(jí),修改等級(jí)BUFF
摧毀防御塔:增加經(jīng)驗(yàn),如果經(jīng)驗(yàn)>100,增加等級(jí),修改等級(jí)BUFF
死亡:減少經(jīng)驗(yàn),如果經(jīng)驗(yàn)<0,減少等級(jí),修改等級(jí)BUFF
你有沒(méi)有覺(jué)得,這是一個(gè)繁瑣的過(guò)程?當(dāng)你需要修改等級(jí)BUFF的時(shí)候,你需要修改很多條規(guī)則。
我們?cè)俜治鲆幌挛覀兊倪壿嫞簩?shí)際上,等級(jí)什么時(shí)候會(huì)增加,增加會(huì)有什么效果,這并不是我們的“死亡”事件該處理的。
正確的做法是:有一個(gè)東西在“看著”經(jīng)驗(yàn),當(dāng)它大于100時(shí),就代表升級(jí)了。當(dāng)它小于100時(shí),就代表降級(jí)了。我們將其解耦后,規(guī)則就變成了:
擊殺敵人:增加經(jīng)驗(yàn)
摧毀防御塔:增加經(jīng)驗(yàn)
死亡:減少經(jīng)驗(yàn)
觀察者1:如果經(jīng)驗(yàn)>100,增加等級(jí),修改等級(jí)BUFF
觀察者2:如果經(jīng)驗(yàn)<0,減少等級(jí),修改等級(jí)BUFF
換做游戲內(nèi)規(guī)則,即是:(假設(shè)用玩家變量A表示等級(jí),玩家變量B表示經(jīng)驗(yàn))
擊殺敵人:修改玩家變量(事件玩家, B, 加, 50)
摧毀防御塔:修改玩家變量(事件玩家, B, 加, 30)
死亡:修改玩家變量(事件玩家, B, 減, 50)
觀察者1
事件:持續(xù) - 每名玩家
條件:玩家變量(事件玩家, B) >= 100
修改玩家變量(事件玩家, B, 減, 100)
修改玩家變量(事件玩家, A, 加, 1)
// 這里寫(xiě)等級(jí)變化的邏輯
等待(0.016, 無(wú)視條件)
如條件為“真”則循環(huán)
觀察者2
事件:持續(xù) - 每名玩家
條件:玩家變量(事件玩家, B) < 0
動(dòng)作:
修改玩家變量(事件玩家, B, 加, 100)
修改玩家變量(事件玩家, A, 減, 1)
// 這里寫(xiě)等級(jí)變化的邏輯
等待(0.016, 無(wú)視條件)
如條件為“真”則循環(huán)
注意:
一定要注意邏輯設(shè)計(jì)上不能存在死循環(huán),例如上面的例子里,觀察者2的條件不能寫(xiě)“玩家變量 <= 0”。因?yàn)楫?dāng)玩家經(jīng)驗(yàn)=100時(shí),觀察者1會(huì)將其變?yōu)?,就會(huì)觸發(fā)觀察者2。而觀察者2又會(huì)再次觸發(fā)觀察者1。這就導(dǎo)致了死循環(huán)的出現(xiàn)。
我們?cè)趦蓚€(gè)觀察者最后都加上了循環(huán),目的是打破條件滿(mǎn)足的情況??紤]這種情況:當(dāng)我們一次性給玩家增加300點(diǎn)經(jīng)驗(yàn)時(shí),按理來(lái)說(shuō),應(yīng)該讓玩家升3級(jí),但因?yàn)槲覀儧](méi)有循環(huán),玩家升了一級(jí)就結(jié)束了,并且后續(xù)增加經(jīng)驗(yàn),也不會(huì)再觸發(fā)升級(jí)。只有當(dāng)條件滿(mǎn)足被打破時(shí),條件再次滿(mǎn)足,才會(huì)再次觸發(fā)該規(guī)則。
模擬函數(shù)調(diào)用
編程總是免不了函數(shù),但目前為止OW中沒(méi)有函數(shù)。但是,我們可以使用上面的方法,來(lái)模擬函數(shù)。
還是用上面的例子。你會(huì)發(fā)現(xiàn)我們的等級(jí)變化邏輯還是寫(xiě)了兩遍。我們能不能再將其獨(dú)立成一個(gè)規(guī)則?當(dāng)然是可以的。我們變化的目標(biāo)是玩家,因此我們需要使用一個(gè)玩家變量,來(lái)標(biāo)記我們需不需要對(duì)此玩家執(zhí)行等級(jí)變化邏輯。假設(shè)我們使用玩家變量C。
首先,在游戲初始化的時(shí)候,將其設(shè)置為假。我們的規(guī)則就可以變成:
觀察者1
事件:持續(xù) - 每名玩家
條件:玩家變量(事件玩家, B) >= 100
動(dòng)作:
修改玩家變量(事件玩家, B, 減, 100)
修改玩家變量(事件玩家, A, 加, 1)
等待(0.016, 無(wú)視條件)
如條件為“真”則循環(huán)
設(shè)置玩家變量(事件玩家, C, 真)
觀察者2
事件:持續(xù) - 每名玩家
條件:玩家變量(事件玩家, B) < 0
動(dòng)作:
修改玩家變量(事件玩家, B, 加, 100)
修改玩家變量(事件玩家, A, 減, 1)
等待(0.016, 無(wú)視條件)
如條件為“真”則循環(huán)
設(shè)置玩家變量(事件玩家, C, 真)
等級(jí)變化規(guī)則
事件:持續(xù) - 每名玩家
條件:玩家變量(事件玩家, C) == 真
動(dòng)作:
// 這里寫(xiě)等級(jí)變化的邏輯
設(shè)置玩家變量(事件玩家, C, 假)
注意:這里只是模擬函數(shù)調(diào)用,但實(shí)際上它比函數(shù)還是少很多東西。因此,并不是所有情況都適合這樣寫(xiě)。
總結(jié)
本文其實(shí)并沒(méi)有用什么很稀奇古怪的技術(shù),但本文的難點(diǎn)是思路的轉(zhuǎn)變:你需要將幾個(gè)本來(lái)不相同的邏輯,找出他們的共同點(diǎn),并巧妙的將其拆分成多個(gè)邏輯,然后用規(guī)則來(lái)實(shí)現(xiàn)。
到底要不要使用這種方式來(lái)設(shè)計(jì)規(guī)則?你需要考慮它的優(yōu)缺點(diǎn)。它的優(yōu)點(diǎn)有:
將重復(fù)的內(nèi)容獨(dú)立出來(lái),減少工作量。
方便以后的修改(不僅需要修改的地方少了,漏改的可能性也更小了)
它也有缺點(diǎn):
增加了規(guī)則數(shù)量。
增加了邏輯上的復(fù)雜度。
運(yùn)行效率稍低。
個(gè)人認(rèn)為,適當(dāng)?shù)氖褂眠@種思路來(lái)設(shè)計(jì)規(guī)則,可以減少你的工作量和維護(hù)難度。但并不代表這種方式一定就是最好的,你應(yīng)當(dāng)考慮你的實(shí)際情況。
玩家評(píng)論
(3733條)其他玩家還在玩
相關(guān)閱讀
最新文章
- 《守望先鋒》國(guó)服IP聯(lián)動(dòng)返場(chǎng)取消 玩家炸鍋
- 《守望先鋒》國(guó)服回歸福利公布!休閑玩家或成最大贏家
- 《守望先鋒》國(guó)服官宣回歸 1月8日公測(cè)開(kāi)啟
- 《守望先鋒》國(guó)服不限號(hào)測(cè)試須知 守望先鋒下載與常見(jiàn)問(wèn)題解答
- 《守望先鋒》國(guó)服不限號(hào)測(cè)試現(xiàn)已開(kāi)啟 可體驗(yàn)經(jīng)典6v6模式
- 《守望先鋒》國(guó)服回歸公開(kāi)測(cè)試專(zhuān)屬獎(jiǎng)勵(lì)介紹
- 《守望先鋒》國(guó)服官宣回歸 1.8公測(cè) 2.19正式上線
- 《守望先鋒》國(guó)服官宣明年2月19日回歸 公測(cè)時(shí)間確定
- 怎么輕松保鏢 《守望先鋒》游戲攻略全解析
- 《守望先鋒》路霸強(qiáng)勢(shì)進(jìn)階攻略 怎么打造無(wú)人能擋的路霸
- 《守望先鋒》爆頭判定正確性及區(qū)域測(cè)試 正確判定爆頭的方法
- 《守望先鋒》2020萬(wàn)圣節(jié)皮膚介紹
- 《守望先鋒》畫(huà)面模糊設(shè)置方法詳解
- 《守望先鋒》麥克雷開(kāi)大技巧
- 《守望先鋒》國(guó)服IP聯(lián)動(dòng)返場(chǎng)取消 玩家炸鍋
- 《守望先鋒》國(guó)服回歸福利公布!休閑玩家或成最大贏家
- 《守望先鋒》國(guó)服官宣回歸 1月8日公測(cè)開(kāi)啟
- 《守望先鋒》國(guó)服不限號(hào)測(cè)試須知 守望先鋒下載與常見(jiàn)問(wèn)題解答
- 《守望先鋒》國(guó)服不限號(hào)測(cè)試現(xiàn)已開(kāi)啟 可體驗(yàn)經(jīng)典6v6模式
- 《守望先鋒》國(guó)服回歸公開(kāi)測(cè)試專(zhuān)屬獎(jiǎng)勵(lì)介紹
- 《守望先鋒》國(guó)服官宣回歸 1.8公測(cè) 2.19正式上線
- 《守望先鋒》國(guó)服官宣明年2月19日回歸 公測(cè)時(shí)間確定
- 怎么輕松保鏢 《守望先鋒》游戲攻略全解析
- 《守望先鋒》路霸強(qiáng)勢(shì)進(jìn)階攻略 怎么打造無(wú)人能擋的路霸
- 《守望先鋒》爆頭判定正確性及區(qū)域測(cè)試 正確判定爆頭的方法
- 《守望先鋒》2020萬(wàn)圣節(jié)皮膚介紹
- 《守望先鋒》畫(huà)面模糊設(shè)置方法詳解
- 《守望先鋒》麥克雷開(kāi)大技巧
守望先鋒
守望先鋒國(guó)際服 是一款動(dòng)作游戲,有著不同的玩法,讓玩家可以選擇不同的游戲模式進(jìn)行戰(zhàn)斗,可以選擇團(tuán)戰(zhàn),也可以選擇個(gè)人比賽,讓玩家體驗(yàn)控制英雄參與戰(zhàn)斗的操作玩法有清爽的戰(zhàn)斗內(nèi)容,帶來(lái)刺激元素。有需要的朋友快來(lái)下載使用吧!
豌豆ax1wn8 來(lái)自于 九游APP 2024-10-01 19:38
希望快點(diǎn)出,我都等了很久了,他已經(jīng)陪伴我一年的時(shí)間了,求求快點(diǎn)出,最新款的破壞球,我家都擺了各種各樣的破壞球模型
豌豆z1jru0 來(lái)自于 九游APP 2024-10-30 19:15
快點(diǎn)出吧!太想玩了!
幽靈一魔女11 來(lái)自于 九游APP 2024-11-12 10:25
以前玩過(guò),覺(jué)得特別好玩,希望能快點(diǎn)出
九游玩家7lz2g2h6m4z4 來(lái)自于 九游APP 2024-08-16 08:08
畫(huà)面非常清晰。嗯,試玩版那個(gè)玩法有很多
克隆夕小磁怪74 來(lái)自于 九游APP 2024-08-18 16:57
好玩太好玩的,太好玩了,太好玩了,太好
阿玖陪你看日落 來(lái)自于 九游APP 2024-06-23 07:29
這不像正常下載的正版的那個(gè)樣子嗯,我說(shuō)的是他的圖標(biāo)我玩過(guò)特別好玩,是電腦上玩的,電腦上的已經(jīng)上架了,這為什么要下架但是突然登不上去了
九游玩家401573411 來(lái)自于 九游APP 2017-07-15 20:27
想要馬上玩手機(jī)版的守望先鋒的點(diǎn)贊。我不是騙贊的我只想知道守望先鋒有幾個(gè)人在玩。
豌豆a9j4lr 來(lái)自于 九游APP 2024-07-06 11:45
還沒(méi)有玩,但是感覺(jué)這款游戲給人帶來(lái)了一種非常好玩的感覺(jué)
源滅斬 來(lái)自于 九游APP 2020-05-18 22:58
本人守望迷,但是我相信手機(jī)不會(huì)出的,至少要等幾年,現(xiàn)在守望先鋒在退出守望2,沒(méi)有時(shí)間做手游,況且暴雪并不怎么支持手游,手游里只有一個(gè)爐石傳說(shuō),剩下的在現(xiàn)在的手機(jī)上很難做出來(lái)。模型就是一個(gè)問(wèn)題。不過(guò)手游上有一些盜版守望先鋒,質(zhì)量并不怎么好比如說(shuō):王牌特工。但是還是期待守望先鋒出手游版。但是我有端游了,不會(huì)在特別在意。。。
九游玩家7lyv14hp3tnw 來(lái)自于 九游APP 2020-01-23 21:20
預(yù)約等不起的別酸,要么去買(mǎi)個(gè)電腦配置,花點(diǎn)小錢(qián)買(mǎi)個(gè)正版,好好打上一把不行??酸您媽呢,等不起去買(mǎi)啊,人家愛(ài)怎么出怎么出管得著么??刷存在感真是??