首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3 NPC会话对话结构

AS3 NPC会话对话结构
EN

Stack Overflow用户
提问于 2014-06-30 07:09:49
回答 1查看 513关注 0票数 0

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

在这一点上,会话的定义(无论是从XML文件加载,还是使用工厂方法)并没有什么问题;今后我应该不会有任何困难。我所需要的只是一些关于我应该如何安排我的班级结构的指导。

到目前为止,我想不出任何想法;我的大脑因无法找到解决方案而瘫痪。我可能需要某种类型的对话类,其中包含NPC必须说的文本数组。但是我怎么知道谁在说话,或者根据情节事件他们要说什么。这类问题似乎有点令我难以理解。

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

我们将非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-30 07:28:44

首先,这个问题太宽泛了。它是这样的,因为有很多方法来解决它,第二,因为一切都取决于你当前的代码结构以及你的技能。

但是,这里有一个小主意--您应该使用所谓的状态(和/或状态机)。因为您有不同的交互(比如先说,然后输入,然后与其他人交谈),所以您需要一个类来保存玩家当前的进度。在那里,您可以列出必须执行的操作。更改状态意味着对当前操作有不同的索引(这实际上是一种进步)。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24484652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档