使用libGDX在Java中创建对话

时间:2014-12-21 11:54:32

标签: java android libgdx

我想使用libGDX在Java中创建一个对话树(对话树)。我应该使用大量的条件(如果,等等......)并转到下一个对话框,还是有更好的方法来读取已经有内部对话的XML等文件?此外,我希望解决方案能够消耗尽可能少的内存量,因为我将为Android编写它。

对话树的示例:

(问:A:答案,C:选择,AC:行动)

问:无论如何,我可以帮助你吗?

答:你给我5美元!

C1:礼貌地回答他们,C2:h her她,C3:拔枪

A1:没办法离开这里,A2:打电话给保安,A3:打电话给警察

AC1-2:退出建筑物//选择结束1-2

C3.1:拔出枪并射击警察,C3.2:从窗户跳下

AC3.1:被捕,AC3.2:死亡

1 个答案:

答案 0 :(得分:3)

如果你的游戏几乎没有对话,我会使用String来获取它,但如果你以对话为基础,我会使用SQLite或类似的数据库将它们存储在其中。我不知道这是否是最有效的方式,但是在阅读你的问题时我发生了什么:

enter image description here

您可以使用例如问题的第1列,以及可能答案的第2,3,4,5列。您可以在libGDX here

中获取有关使用SQLite的信息

你可以进入一些方法角色,他传递一个id来访问问题的SQLite和问题的答案,然后分配一些变量,并使用switch语句,如果你不想有很多if-elseif等。

注意:我认为SQLite主要用于希望将来保存和使用数据的时候;如果数据例如每10分钟更改一次,我认为使用JSON会更好,因为在SQLite中每10分钟连接一次数据库可能需要一些时间。我认为情况并非如此;在我看来,JSON和SQLite的目的完全不同。我会用例如:

JSON =我会用它来发送或/和接收服务器和服务器之间的数据。客户端或配置文件等。

SQLite =我会用它来存储数据。

这只是我的观点,我不是说SQLite比JSON更好或更差。

PS 1:照片来自互联网

PS 2:我也相信你应该阅读https://stackoverflow.com/tour