前言:
市场很多RGP游戏,无论是手游还是网游,而RGP游戏重要的一部分就是剧情,玩家与NPC的对话系统,今天就来给大家讲解一下Unity的XML解析之NPC对话系统。下面我们来看一个案例。
第一步:
我们来写一个XML文件:如下
第二步:
我们对上面的XML文档根据ID进行解析:首先我们做了一个单例,方面NPC对话类,对解析内容的调用。然后我们创建两个List集合,分别用来存储解析出来的玩家和NPC对话的内容文本。
解析方法:我们根据NPC的id,在这里我们可以理解为NPC的“等级”,因为后面我会讲解到当玩家等级和NPC的ID相等时,显示出与玩家等级相对应的对话(一个NPC有多段对话时)
第三步:我们来写NPC对话类
当我们的玩家与NPC触发时,我们判断玩家与NPC的等级,如果等级相等的话,我们首先调用XML解析方法,然后把NPC的对话面板显示出来,激活对话。为了防止多次触发,当等级相等时,我们把玩家的导航停止。对话完成时,在激活导航。如果不相等当然不能对话了。(在此小郭我没有做任何处理)
第四部:UI相关设置展示
第五步:我们来看一下运行成果吧
第六步:注意事项
注意事项:一:此演示是玩家行走用的导航。
二:玩家有Rigidbody和Collider属性
三:玩家要有触发器哦