2

我想知道哪种方式最好为类似于Soldat的射手渲染 2D 地图(这些将是静态地图) 。我考虑过的多个选项是基于图块的地图(存储在 txt 文件中),或者只是为我计划使用的不同地形创建不同的类,并创建一个数据结构来读取/存储它们在文件中。(我还希望能够包括诸如在墙上跳跃/奔跑、滑下墙壁/斜坡等)

我觉得肯定有比这两种方法更好的方法,但一直找不到确切的信息:/

谢谢 :)

4

4 回答 4

2

Soldat 使用基于多边形的格式来渲染和表示它的关卡。编辑器允许用户在获得纹理和属性(例如碰撞 = 死亡)时绘制点和它们之间的连接以制作墙壁和结构。然后覆盖在上面的项目和图像。

然后,soldat 渲染引擎将使用这些结构来执行碰撞检测并构​​建世界的多边形(绘制的三角形)表示。

于 2010-05-15T02:16:12.777 回答
1

我打算使用“只使用瓦片地图”,但后来我查看了 Soldat,它有点复杂。

我不知道他们在使用什么,但我怀疑他们正在使用多边形并且可能也与多边形发生碰撞。这些关卡很可能是使用您在 3D 游戏中看到的相同类型的图元生成的,但都在一个平面上。例如纹理映射三角形和碰撞表面的边缘而不是表面本身。

以我的经验,“地形”本身通常是一个对象,碰撞和视觉表示是该对象内部的数据(通常聚合到该对象中)。不同的地形不一定需要是不同类型的东西,事实上,在我制作的所有游戏中,整个世界通常是“地形”或“世界”或其他类型的单个对象,它管理进出视野的各种可见部分的行为。

这感觉不是一个很好的答案,但我想我会尝试给你一些东西。

于 2010-05-14T23:17:49.900 回答
1

我建议阅读《构建 XNA 2.0 游戏:独立游戏开发实用指南》一书。它将引导您开发一款名为 Zombie Smashers 的 2D 横向游戏(基于作者的获奖作品The Dishwasher: Dead Samurai)。

第 4 章:地图编辑器正是您所寻找的。

即使您不打算在 XNA 中开发,它也会对您有所帮助。

于 2010-05-15T00:58:03.610 回答
1

做你想做的平台游戏的例子是BraidAquaria使用Humble Indie Bundle,您只需 2 便士即可获得 Aquaria 。

这是Aquaria 的编辑器。我找不到一个像样的辫子编辑器视频。

我发现了另一个关于 IndieLib 的视频,以及他们创建的与 Aquaria 类似的关卡编辑器(免责声明:我自己没有尝试过)。

除此之外,谷歌搜索“辫子和水族馆平台引擎”应该会给你更多的结果。

于 2010-05-14T23:42:17.620 回答