前言:
??? 市場(chǎng)很多RGP游戲,無論是手游還是網(wǎng)游,而RGP游戲重要的一部分就是劇情,玩家與NPC的對(duì)話系統(tǒng),今天就來給大家講解一下Unity的XML解析之NPC對(duì)話系統(tǒng)。下面我們來看一個(gè)案例。
第一步:
? 我們來寫一個(gè)XML文件:如下????????
第二步:
?我們對(duì)上面的XML文檔根據(jù)ID進(jìn)行解析:首先我們做了一個(gè)單例,方面NPC對(duì)話類,對(duì)解析內(nèi)容的調(diào)用。然后我們創(chuàng)建兩個(gè)List集合,分別用來存儲(chǔ)解析出來的玩家和NPC對(duì)話的內(nèi)容文本。
解析方法:我們根據(jù)NPC的id,在這里我們可以理解為NPC的“等級(jí)”,因?yàn)楹竺嫖視?huì)講解到當(dāng)玩家等級(jí)和NPC的ID相等時(shí),顯示出與玩家等級(jí)相對(duì)應(yīng)的對(duì)話(一個(gè)NPC有多段對(duì)話時(shí))
第三步:我們來寫NPC對(duì)話類
當(dāng)我們的玩家與NPC觸發(fā)時(shí),我們判斷玩家與NPC的等級(jí),如果等級(jí)相等的話,我們首先調(diào)用XML解析方法,然后把NPC的對(duì)話面板顯示出來,激活對(duì)話。為了防止多次觸發(fā),當(dāng)?shù)燃?jí)相等時(shí),我們把玩家的導(dǎo)航停止。對(duì)話完成時(shí),在激活導(dǎo)航。如果不相等當(dāng)然不能對(duì)話了。(在此小郭我沒有做任何處理)
第四部:UI相關(guān)設(shè)置展示
第五步:我們來看一下運(yùn)行成果吧
第六步:注意事項(xiàng)
注意事項(xiàng):一:此演示是玩家行走用的導(dǎo)航。
????????????????? 二:玩家有Rigidbody和Collider屬性
????????????????? 三:玩家要有觸發(fā)器哦