從0開(kāi)始:開(kāi)發(fā)自己的游戲[4]


我是Lem0辛块,自學(xué)倡導(dǎo)者畔派,執(zhí)迷于“不務(wù)正業(yè)”,被批評(píng)“旁門(mén)左道”润绵。我注冊(cè)并使用簡(jiǎn)書(shū)线椰,希望能夠記錄一些我記不住的事情,或者與大家一起共享知識(shí)尘盼,共同學(xué)習(xí)憨愉。

往期回顧(點(diǎn)擊鏈接訪問(wèn)):
「從0開(kāi)始:開(kāi)發(fā)自己的游戲[0]」
「從0開(kāi)始:開(kāi)發(fā)自己的游戲[1]」
「從0開(kāi)始:開(kāi)發(fā)自己的游戲[2]」
「從0開(kāi)始:開(kāi)發(fā)自己的游戲[3]」

有兩三天沒(méi)更新教程,因?yàn)闀r(shí)間不允許卿捎。但我依然會(huì)盡量回復(fù)大家的評(píng)論和私信配紫,再次對(duì)各位的鼓勵(lì)和欣賞表示感謝。

在上一期教程中娇澎,我簡(jiǎn)單介紹了快速新建特定事件和游戲事件的概念笨蚁、定義和創(chuàng)建方法。本期教程我將主要講解事件指令中的“條件控制”部分和“流程控制”部分趟庄,制作一個(gè)簡(jiǎn)單的任務(wù)劇情括细。請(qǐng)喜歡本系列教程的朋友們關(guān)注我,避免錯(cuò)過(guò)更新動(dòng)態(tài)戚啥。

如果您沒(méi)有看過(guò)之前的教程奋单,或者在閱讀本文時(shí)發(fā)現(xiàn)自己已經(jīng)記不起以前的一些內(nèi)容,建議您先查看往期的回顧猫十,再繼續(xù)本教程以確保效率览濒。

5呆盖、線性流程 - 學(xué)習(xí)游戲開(kāi)關(guān)和變量與事件的配合

條件控制 指令

如果大家還記得怎樣新建一個(gè)游戲事件,請(qǐng)新建一個(gè)并且選擇一個(gè)合適的圖像使這個(gè)游戲事件成為一個(gè)NPC贷笛。我在這里依舊使用上期教程中的士兵形象应又。我將帶領(lǐng)大家進(jìn)行一個(gè)游戲任務(wù)的制作,玩家控制的角色可以接受任務(wù)并且完成它乏苦。這是標(biāo)準(zhǔn)RPG游戲中的流程株扛。

上一期的游戲事件,是一個(gè)士兵形象的NPC

在右側(cè)的執(zhí)行內(nèi)容中汇荐,已經(jīng)有了一條上期教程中添加的事件指令洞就。若要?jiǎng)h除該條指令,選中按下delete鍵即可掀淘。這里我們選中該條指令旬蟋,按下space鍵,達(dá)到修改該條指令的效果革娄。

注意倾贰,幾乎任何時(shí)候按下space鍵都能夠起到修改作用,例如在事件頁(yè)中按空格鍵可以修改當(dāng)前事件指令的參數(shù)稠腊;在地圖樹(shù)中按空格鍵可以修改當(dāng)前地圖的參數(shù)躁染。

按下空格建修改這條“顯示文字”指令,在彈出的窗口內(nèi)輸入下圖所示的文字架忌,然后確定吞彤,完成修改。

修改之后的文字顯示指令

在這條顯示文字的指令中叹放,我使用了轉(zhuǎn)義控制符饰恕。和大多數(shù)編程語(yǔ)言一樣,轉(zhuǎn)義控制符以反斜杠開(kāi)始井仰,通過(guò)不同的規(guī)則使文字顯示內(nèi)容變化埋嵌。比如這條文字顯示指令中,我使用了<code>\c[6] \c[0]</code>兩個(gè)顏色控制符俱恶,轉(zhuǎn)換了“皇家塔洛斯守衛(wèi)軍”文字的顏色為黃色雹嗦。我還使用了<code>\i[192]</code>這個(gè)圖標(biāo)繪制控制符,在對(duì)話窗口的“生命藥劑”文字前繪制了第192號(hào)圖標(biāo)(外形是個(gè)藥瓶的樣子)合是。

在游戲中的預(yù)覽結(jié)果就是下圖這樣了罪。轉(zhuǎn)義控制符被更換為不同的顯示效果。

轉(zhuǎn)義控制符的使用

之后我們?yōu)榱俗屚婕夷軌蜃杂蛇x擇是否接受NPC士兵給出的任務(wù)聪全,我們需要添加一個(gè)“顯示選項(xiàng)”指令泊藕,讓玩家能夠根據(jù)自己的想法選擇回復(fù):

顯示選項(xiàng)指令

按照上圖設(shè)置完成,確定之后會(huì)發(fā)現(xiàn)事件頁(yè)的執(zhí)行內(nèi)容中出現(xiàn)了顯示選項(xiàng)的指令和兩個(gè)分支难礼。其中娃圆,選擇第二項(xiàng)(也就是“我沒(méi)時(shí)間”)的情形被默認(rèn)為取消玫锋,選擇第一項(xiàng)“我愿意”即為接受任務(wù)的回答。

事件指令的執(zhí)行內(nèi)容中出現(xiàn)了選擇分歧

在玩家選擇接受了任務(wù)之后讼呢,我們需要設(shè)置一個(gè)開(kāi)關(guān)撩鹿。什么是開(kāi)關(guān)呢?開(kāi)關(guān)有ON(開(kāi))和OFF(關(guān))兩個(gè)狀態(tài)吝岭,相當(dāng)于程序設(shè)計(jì)中布爾值(邏輯值)的TRUE和FALSE三痰。我們常常使用開(kāi)關(guān)的狀態(tài)來(lái)設(shè)計(jì)游戲進(jìn)程。

玩家選擇接受任務(wù)的時(shí)候

在“我愿意”的選擇分支下窜管,新建一條事件指令,點(diǎn)擊事件指令中的開(kāi)關(guān)操作稚机,打開(kāi)開(kāi)關(guān)操作窗口幕帆。我們?cè)谶@里可以調(diào)整游戲中開(kāi)關(guān)的數(shù)量。注意的是如果大量使用開(kāi)關(guān)可能造成卡頓赖条。在這里我不更改默認(rèn)數(shù)量失乾,直接在0001號(hào)開(kāi)關(guān)的名稱框內(nèi)輸入“玩家接受了任務(wù)∥痴В”

開(kāi)關(guān)的名稱相當(dāng)于注釋碱茁,不會(huì)起任何作用,因此即使是空白也是可以的仿贬。但是為了保證我們不會(huì)混淆這些開(kāi)關(guān)纽竣,我們需要設(shè)置名稱,且名稱需要容易辨認(rèn)茧泪。

為游戲開(kāi)關(guān)合理命名蜓氨,避免混淆

這里0001號(hào)開(kāi)關(guān)的用途是:當(dāng)開(kāi)關(guān)打開(kāi)時(shí)表示玩家接受了任務(wù),當(dāng)開(kāi)關(guān)關(guān)閉時(shí)表示玩家拒絕接受任務(wù)队伟。因此我將名稱設(shè)置為“玩家接受了任務(wù)”穴吹。點(diǎn)擊確定,完成開(kāi)關(guān)的操作嗜侮。

完成NPC分配任務(wù)的環(huán)節(jié)

注意:為了簡(jiǎn)便港令,我將這個(gè)任務(wù)更改為皇家塔洛斯衛(wèi)隊(duì)只需要一個(gè)恢復(fù)藥劑,特此說(shuō)明

接下來(lái)我們需要新建一個(gè)事件頁(yè)锈颗。點(diǎn)擊游戲事件窗口的新建事件頁(yè)創(chuàng)建一個(gè)新的事件頁(yè):

新建一個(gè)事件頁(yè)

新的事件頁(yè)(事件頁(yè)2)和舊的事件頁(yè)(事件頁(yè)1)仍屬于同一個(gè)游戲事件顷霹。當(dāng)一個(gè)游戲事件內(nèi)有多個(gè)事件頁(yè)存在的時(shí)候,游戲會(huì)檢測(cè)事件頁(yè)出現(xiàn)的條件宜猜,只執(zhí)行滿足出現(xiàn)條件的事件頁(yè)泼返。如果有多個(gè)事件頁(yè)都符合出現(xiàn)條件, 則按照事件頁(yè)編號(hào)從大到小的順序開(kāi)始姨拥。因而绅喉,這兩個(gè)事件頁(yè)都同屬于在游戲開(kāi)發(fā)中渠鸽,我們往往需要使用多個(gè)事件頁(yè)模擬不同時(shí)期NPC的表現(xiàn)。

在這個(gè)例子中柴罐,事件頁(yè)1的事件指令用于模擬玩家接受任務(wù)前NPC的表現(xiàn)徽缚,事件頁(yè)2的事件指令用于模擬玩家接受任務(wù)后到完成任務(wù)前NPC的表現(xiàn)。也就是說(shuō)只要玩家不接受任務(wù)革屠,則在和NPC對(duì)話時(shí)事件1會(huì)一直執(zhí)行凿试。當(dāng)玩家接受了任務(wù)之后,則事件1不再執(zhí)行似芝,玩家和NPC對(duì)話的時(shí)候執(zhí)行事件2那婉。

在事件2中我們需要設(shè)置事件頁(yè)2的出現(xiàn)條件。事件頁(yè)2必須是在玩家接受任務(wù)之后才能出現(xiàn)的党瓮,所以我們需要將事件頁(yè)2的出現(xiàn)條件設(shè)置為:開(kāi)關(guān)0001:玩家接受了任務(wù) 開(kāi)啟時(shí)详炬。

同時(shí),事件頁(yè)2的圖像也要設(shè)置成和事件頁(yè)1一樣寞奸,即都設(shè)置成士兵的樣子呛谜。否則玩家接受了任務(wù)之后,事件頁(yè)1不再執(zhí)行枪萄,轉(zhuǎn)而執(zhí)行事件頁(yè)2的時(shí)候隐岛,NPC的樣子突然改變,可能會(huì)讓玩家嚇一大跳瓷翻。

在事件頁(yè)2中聚凹,我們?yōu)榱藱z測(cè)玩家是否完成了任務(wù),需要引入一個(gè)條件判斷逻悠。我們雙擊執(zhí)行內(nèi)容處的空白元践,新建一條事件指令,在彈出的事件指令中童谒,我們選擇分支條件:

分支條件

分支條件窗口中单旁,你需要設(shè)置作為分歧條件的項(xiàng)目。比如這里我選擇的分支條件是玩家是否持有生命藥劑饥伊。如果玩家持有生命藥劑象浑,則視為任務(wù)完成,否則琅豆,視為任務(wù)沒(méi)有完成愉豺。

條件判斷,用來(lái)判斷是否滿足指定條件

在判定任務(wù)完成之后茫因,我們需要在玩家持有恢復(fù)藥劑的時(shí)候減去玩家手中的藥劑蚪拦,作為角色交付給NPC的任務(wù)道具。我們?cè)诔钟谢謴?fù)劑的條件下新建一條事件指令,找到增減物品操作驰贷,進(jìn)行如圖設(shè)置:

增減物品的操作

在沒(méi)有完成任務(wù)的場(chǎng)合盛嘿,我們可以讓NPC說(shuō)一句話提示玩家。設(shè)置完成后括袒,事件頁(yè)2應(yīng)該如下圖所示:

設(shè)置完成的事件頁(yè)2

之后我們需要在前幾期教程創(chuàng)建的室內(nèi)地圖中擺放一個(gè)游戲事件次兆,用來(lái)給玩家增加一個(gè)治療藥劑。

在桌子上創(chuàng)建一個(gè)游戲事件

創(chuàng)建的游戲事件用來(lái)為玩家增加治療藥劑锹锰。但是增加或減少物品并不會(huì)在游戲中提示芥炭,也就是說(shuō)你對(duì)著桌子按下確定鍵,不會(huì)有一個(gè)窗口彈出老提示你獲得了某某道具恃慧。你需要打開(kāi)背包查看物品列表园蝠。

在創(chuàng)建藥劑事件時(shí),一定要注意將本事件的優(yōu)先級(jí)設(shè)置為與人物同層糕伐。

設(shè)置游戲事件的事件指令

之后我們創(chuàng)建一個(gè)快速事件砰琢,選擇場(chǎng)所移動(dòng),將移動(dòng)目標(biāo)設(shè)置為室外地圖的房屋門(mén)口良瞧,讓玩家在獲得了藥劑的時(shí)候可以回到室外交付任務(wù)。

創(chuàng)建一個(gè)快速的場(chǎng)所移動(dòng)事件训唱,讓玩家在室內(nèi)的時(shí)候能夠走到室外

確認(rèn)無(wú)誤后褥蚯,我們運(yùn)行游戲進(jìn)行測(cè)試。以下是游戲測(cè)試效果圖:

游戲測(cè)試場(chǎng)景
接受任務(wù)但尚未完成時(shí)
在小屋里獲取“恢復(fù)藥劑”
獲取了恢復(fù)藥劑
交還了任務(wù)

但到這里還有一些BUG况增≡奘可能在調(diào)試過(guò)程中大家都發(fā)現(xiàn)了一些問(wèn)題,我們需要在下一節(jié)教程的時(shí)候修復(fù)澳骤。

這里我先列出一些存在的錯(cuò)誤:

  • 當(dāng)玩家完成任務(wù)后歧强,如果背包內(nèi)沒(méi)有藥劑,則下次和NPC對(duì)話为肮,依然會(huì)提示“沒(méi)有完成任務(wù)”摊册。

  • 當(dāng)玩家完成任務(wù)后,如果背包內(nèi)還有藥劑颊艳,則下次和NPC對(duì)話時(shí)茅特,任務(wù)會(huì)重復(fù)交付,玩家依然會(huì)被扣除恢復(fù)藥劑棋枕。

  • 在室內(nèi)地圖中白修,玩家可以重復(fù)領(lǐng)取恢復(fù)藥劑。桌子上藥劑這個(gè)游戲事件不會(huì)消失重斑。

  • ...

請(qǐng)大家嘗試?yán)靡呀?jīng)學(xué)習(xí)的開(kāi)關(guān)和事件頁(yè)嘗試解決這些遺留問(wèn)題兵睛。我將在下節(jié)教程進(jìn)行講解。

我由于長(zhǎng)期加班,拖到今天才完成了本篇教程祖很。時(shí)間倉(cāng)促笛丙,如有任何問(wèn)題都可以私信告知,我將盡快回復(fù)突琳。

感謝大家的關(guān)注若债。如您喜歡本系列教程,請(qǐng)關(guān)注我以免錯(cuò)過(guò)更新動(dòng)態(tài)拆融。

如果您是游戲美術(shù)蠢琳,或者有數(shù)位板的美術(shù)從業(yè)人士、學(xué)生等各路大神镜豹,對(duì)“未來(lái)游戲計(jì)劃”感興趣傲须,請(qǐng)私信聯(lián)系我。


我是Lem0趟脂,自學(xué)倡導(dǎo)者泰讽,執(zhí)迷于“不務(wù)正業(yè)”,被批評(píng)“旁門(mén)左道”昔期。與大家分享英語(yǔ)/編程/高效自學(xué)的所思所想已卸。

已授權(quán)“版權(quán)印”進(jìn)行版權(quán)保護(hù)。獲取授權(quán)

<a>TBC 未完待續(xù)</a>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硼一,一起剝皮案震驚了整個(gè)濱河市累澡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌般贼,老刑警劉巖愧哟,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異哼蛆,居然都是意外死亡蕊梧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)腮介,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)肥矢,“玉大人,你說(shuō)我怎么就攤上這事萤厅¢夏ǎ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵惕味,是天一觀的道長(zhǎng)楼誓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)名挥,這世上最難降的妖魔是什么疟羹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上榄融,老公的妹妹穿的比我還像新娘参淫。我一直安慰自己,他們只是感情好愧杯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布涎才。 她就那樣靜靜地躺著,像睡著了一般力九。 火紅的嫁衣襯著肌膚如雪耍铜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天跌前,我揣著相機(jī)與錄音棕兼,去河邊找鬼。 笑死抵乓,一個(gè)胖子當(dāng)著我的面吹牛伴挚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灾炭,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼茎芋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蜈出?” 一聲冷哼從身側(cè)響起败徊,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎掏缎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體煤杀,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡眷蜈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沈自。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酌儒。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖枯途,靈堂內(nèi)的尸體忽然破棺而出忌怎,到底是詐尸還是另有隱情,我是刑警寧澤酪夷,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布榴啸,位于F島的核電站,受9級(jí)特大地震影響晚岭,放射性物質(zhì)發(fā)生泄漏鸥印。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望库说。 院中可真熱鬧狂鞋,春花似錦、人聲如沸潜的。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)啰挪。三九已至信不,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脐供,已是汗流浹背浑塞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留政己,地道東北人酌壕。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像歇由,于是被迫代替她去往敵國(guó)和親卵牍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 我是Lem0沦泌,自學(xué)倡導(dǎo)者糊昙,執(zhí)迷于“不務(wù)正業(yè)”,被批評(píng)“旁門(mén)左道”谢谦。我注冊(cè)并使用簡(jiǎn)書(shū)释牺,希望能夠記錄一些我記不住的事情...
    Lem0閱讀 1,786評(píng)論 1 8
  • 我是Lem0,自學(xué)倡導(dǎo)者回挽,執(zhí)迷于“不務(wù)正業(yè)”没咙,被批評(píng)“旁門(mén)左道”。我注冊(cè)并使用簡(jiǎn)書(shū)千劈,希望能夠記錄一些我記不住的事情...
    Lem0閱讀 2,056評(píng)論 19 10
  • 引言 游戲開(kāi)發(fā)分為客戶端和服務(wù)端祭刚,服務(wù)端和客戶端的邏輯很相似,但是服務(wù)端更多在于數(shù)值計(jì)算和校驗(yàn)墙牌,客戶端更多在于面向...
    Geons閱讀 980評(píng)論 0 8
  • 我是Lem0涡驮,自學(xué)倡導(dǎo)者,執(zhí)迷于“不務(wù)正業(yè)”喜滨,被批評(píng)“旁門(mén)左道”捉捅。我注冊(cè)并使用簡(jiǎn)書(shū),希望能夠記錄一些我記不住的事情...
    Lem0閱讀 4,914評(píng)論 9 83
  • 你說(shuō)一切都是我情愿 恩 我認(rèn) 認(rèn)識(shí)你十三年 今天是第四千六百二十天 可我們不是青梅竹馬 名字那么普通但就是很撩人 ...
    誅心之最閱讀 236評(píng)論 0 0