2D平台游戏的适当级别表示/数据结构?
问题描述:
我即将在Java中编写Mario的副本。我正在考虑关卡的2个表示/数据结构,但我不确定应该选择哪一个:2D平台游戏的适当级别表示/数据结构?
- 2D整数数组。
- 四叉树将水平分成几部分。
它有什么优点和缺点?
答
绝对是某种类型的二维数组。整数将是一个好主意,但是角色会是更好的主意。
考虑制作一个基本上是“地图”的文本文件。它可以是10行10列的文本。一个非常简单的地图,在这种情况下。也许你可以用“a”来表示草,用“b”来表示砖。通过这种方式,您甚至可以在实施之前直观地了解您的地图。但你基本上可以编程你的应用程序来依赖这个地图文本文件。
例如,考虑这个地图:
bbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaa
所以,这看起来像上述3个长草的排很长的砖路。想象一下,使这种方案更加复杂,使用各种字符a-z和A-Z,甚至像$或%或&这样的标点符号。
然后,只需通过更改文本文件即可创建地图。如果使用整数,则仅限于10个字符(或10个地图对象本身)。例如,如果你有更多的10个对象,那么你怎样才能创建一个数字相邻的文本文件。你不会知道如何分离数字。
四叉树的缺点是它过于复杂,并且不允许快速访问特定元素。
你是什么意思?你问如何划分地图?游戏? –
地图。对不起,如果不清楚。 – Rama
cross-post http://gamedev.stackexchange.com/q/16306/6588 – jhocking