用画布生成图块地图的最佳方法

时间:2019-07-17 13:31:31

标签: html canvas

所以我在这里有一个小问题,我现在正在使用canvas做一个小游戏,可能稍后再使用OpenGL,但暂时不使用。

现在我的问题是,我看到很多用户使用这样的一堆数组来完成它:

var map = [
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
    [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
    [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
    [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
    [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1],
    [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
    [1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
    [1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],
    [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
]

这真的是最好的方法吗?当您要创建新的地图时,这似乎有些过头了,我想使用此类像素艺术地图的大型游戏并未使用这种东西,或者至少没有直接使用这种东西。

那么这如何工作?他们是否创建了将输出此类数组的引擎?就像一个小gui,您可以在其中创建地图,然后软件会为您生成地图?或者这一切如何工作

1 个答案:

答案 0 :(得分:1)

创建一个编辑器,为您提供方便的UI,以将新地图放在一起并将其保存为文件。然后将这些文件包括在您的项目中。添加一个小的组件,将它们加载到数组中。