AS3 NPC对话对话结构

时间:2014-06-30 07:09:50

标签: actionscript-3

到目前为止,我编写了一个简单的基于图块的RPG引擎,您可以通过按下' x'来与对象进行交互(例如和NPC)。在他们旁边。此时,我可以在屏幕底部显示一个框,其中包含一些文本(随意定义)。我需要能够组织这样的会话结构:

enter image description here

此时它并没有完全打扰我如何定义对话(无论是从XML文件加载,还是使用工厂方法);我将来可以毫不费力地做到这一点。我需要的是关于如何布置班级结构的一些指导原则。

到目前为止,我无法想到任何想法;我的大脑瘫痪,无法找到解决方案。我可能需要某种对话类,NPC必须说明文本数组。但是,我怎么知道谁在说话,或者他们根据情节事件说什么线。这种问题似乎有点过头了。

我也见过this。我想我需要知道的是如何实际使用这些数据。

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

首先,问题太广泛了。它就是这样,因为有很多方法可以解决它,其次 - 因为一切都取决于你当前的代码结构以及你的技能..

但是这里有点想法 - 你应该使用所谓的状态(和/或状态机)。因为你有不同的互动(比如先说话,然后输入内容,然后与别人交谈),你需要一个能够保持玩家当前进度的课程。在那里,您可以拥有必须执行的操作列表。更改状态意味着对当前操作具有不同的索引(这实际上是一个进度)。

动作类本身可以有一个类型(如果它是一个谈话或其他玩家动作),以及目标(与人交谈;访问的地方)。

当然,这是我认为你应该建立的基本基础。正如我所说 - 有很多方法可以实现这一点,但是你肯定需要提供一个包含不同类型操作的列表,并保持其进度。拥有这样的类也将帮助您序列化(保存)该进度。祝你好运!