我想知道在2D游戏中制作地图的最有效方法是什么?
我知道这取决于游戏的制作方式和制作方式,所以我收录了有关此内容的信息。
查看:从播放器顶部
游戏类型:2D射击游戏
游戏摄像头将专注于播放器。
我将创建自己的“地图制作者”,但想知道它是否应该存储在xml或其他东西中。不确定如何解决这个问题。这有什么好书吗?我正在阅读“杀手java游戏”,但它并没有很好地涵盖这个特定的话题,而是我试图做的事情。
现在告诉你我一直在想......
我认为最好的方法是.xml
以下是一个例子:
e =进入/退出
b =阻止
。 =开放空间
<?xml version="1.0" encoding="UTF-8"?>
<info>
<name>Crack House</name>
<date>9:49PM 5/8/2011</date>
<level>Easy</level>
<rows>10</rows>
<colums>7</colums>
</info>
<map>
<row1>bbbebbb</row1>
<row2>b.....b</row2>
<row3>b..bbbb</row3>
<row4>b.bb..b</row4>
<row5>b.....b</row5>
<row6>b..b..b</row6>
<row7>b..b..b</row7>
<row8>b..bbbb</row8>
<row9>b.....b</row9>
<row10>bbbbbbb</row10>
</map>
答案 0 :(得分:1)
这取决于对您来说最重要的效率:
这还取决于您的开发人员技能以及您未概述的问题的其他特征。
但最重要的是,你最好的策略可能就是以简单的方式实现它,并在以后担心效率......如果事实证明这是一个真正的问题。
一条建议。尝试设计/构建您的软件,以便您可以更改地图的存储方式而不需要太多努力。
答案 1 :(得分:1)
XML易于解析和使用,如果您以后需要向其中添加更多信息,则应该很容易进行更改。但是它会占用更多的磁盘空间,并且在最初加载地图时可能会更慢地解析它。
某种形式的自定义二进制映射格式会占用更少的磁盘空间,并且可以更快地进行解析,但如果您稍后需要更改格式,则不会那么灵活。
编辑:如果你计划拥有大量的地图或很多地图,你可能不想使用XML来节省空间。如果您需要在非常短的时间内加载地图,您可能不希望使用XML来节省时间加载。如果您希望以后更容易更改的地图格式并且易于手动修改,那么XML可能会更好。实现XML映射格式也可能更容易。总的来说,这取决于你,不过我会说你可以更容易/更快地实现,如果你认为有必要,可以稍后再切换。
答案 2 :(得分:0)
我用2D战略游戏是一个简单的纯文本文件。 该文件如下所示:
00000000000
00111111100
00111111100
00222222200
00111221100
00000000000
0 =阻止的瓷砖
1 =草瓦
2 =道路瓦片
我认为这是一种非常紧凑的方法。 我的解析器实现工作非常快,解析后得到一个二维数组 - &gt;瓦片[式柱] [行]