Answers:
对于2D MMO,我们使用http://www.mapeditor.org/。我们使用几层作为背景,背景装饰,与播放器处于同一级别的对象以及播放器前面的对象。以及仅带有一个红色正方形的另一层标记冲突。
我不确定这种方法或软件是否适用于2D侧滚动器,但值得一看。
常见的方法可能是仅输入一个字符串
0,0,0,0,0,0,1,1,1,0,0,0,2
其中0将是一个障碍,您可以在1上行走可能是峰值,而2可能是终点
您只需通过一个文本文件(或将其硬编码到游戏中)读取它,并绘制与该数字关联的相对块,并让您的colision逻辑来处理它(但是已设置)。
显然,您可以选择所需的任何格式,也许0表示绘制5个可移动块。
这只是可以实现的一种方法。
http://www.smudgedcat.com/tut_tiledlevel.html, 此链接是使用XNA框架在c#中的示例。它会给您一个大概的想法(它不包含斜率,但是可以使用类似的东西来定义这种情况)
关于马克
许多游戏使用名为Mappy的开源应用程序。它具有自己的格式,支持多层和其他功能。您可能想将几种类型的数据与给定的图块相关联。
我认为游戏中的关卡编辑器方法非常普遍。 开发人员模式是如何设计非常流行的游戏《辫子》的关卡的内部说明。游戏具有一种开发模式,可以在其中构建/修改关卡。这些关卡本身具有一个由图形图块覆盖的碰撞层:
我个人不建议这样做,但是Allegro的2D演示程序使用了某种类型的3D建模格式并将其转换为自定义的游戏内格式。优点是可以建模非常光滑,连续的表面。(这是基于2D物理的滑板游戏。)
要编辑Allegro演示游戏的关卡数据,我们使用免费的开源工具Blender。您可以在这里获得:
以下是逐步说明,说明其工作原理:
1)将文件ademo_export.py放入Blender脚本文件夹中。它是导出脚本,它将从.blend格式转换为演示游戏使用的.txt格式。在unix下,路径为:
〜/ .blender / scripts / ademo_export.py
2)加载.blend文件混合器。在unix下,从带有level.blend文件的目录中键入以下内容:
blender -w level.blend
(-w是使用窗口模式,我更喜欢。)
3)编辑关卡。在菜单中的
帮助->脚本帮助浏览器->导出-> Allegro演示游戏等级
您会发现一些有用的提示。
4)保存文件(在提交之前使用压缩)。从导出菜单中将其导出为.txt,选择Allegro演示游戏级别。
5)使用level.txt更新level.dat,新的关卡应该出现在游戏中。