tutorial_tilemap - seraph526/godot-se GitHub Wiki

创建瓦片地图 (Creating a Tilemap)

介绍

瓦片地图是一种方便快捷的制作2D游戏关卡的方法,一开始,从一堆有相关性的瓦片开始,把它们放到一个的网格下,每个瓦片根据需要使用:

制作瓦片集合 (Making a Tileset)

首先,我们要制作瓦片集合。这里有一些瓦片图。设计师通常喜欢将它们放到同一张图上。如果瓦片是各自独立的,也没有问题。

创建瓦片集场景 (Create the TileSet Scene)

我们创建一个TileSet资源。当此资源导出时,要得到复杂的数据并存储它非常困难。

瓦片集合场景 (TileSet Scene)

使用一个普通的节点或使用node2s创建一个场景。两种方法都会添加一个精灵到场景中。因为我们使用的瓦片的大小是50×50,激活捕捉选项是个不错的主意。

哪果资源图片中有不只一张瓦片,要使用精灵的region属性来调整要编辑哪个部分的瓦片被编辑。

最后,要确保精灵节点名字的正确性,在后续的瓦片集合的编辑中(如,添加碰撞,改变瓦片图区域等),要一直保证瓦片名字的正确和并注意更新。这个名字是唯一的。

听起来有很多的要求,这里是张所有这些相关东西的截图:

碰撞 (Collision)

给瓦片添加碰撞,为每个精灵创建一个StaticBody2D的子节点。这是静态碰撞节点。然后,创建一个CollisionShape2D或CollisionPolygon作为StaticBody2D的子节点。之后是推荐的很容易的编辑方式:

导出瓦片集 (Exporting a TileSet)

在编辑器中打开之前创建的场景,接下来就要创建瓦片集了。在场景菜单中选择Scene > Convert To > Tile Set:

在瓦片地图中使用瓦片集合 (Using the TileSet in a TileMap)

创建一个场景,可以使用任意的节点或nod2d作为根节点,然后创建一个TileMap作为子节点。

编制世界地图 (Painting Your World)

要使用节点集,确保瓦片地图节点处于选中状态。一个红色的栅格会出现在屏幕上,允许在左侧选择瓦片并绘制场景。

人工偏移和缩放 (Offset and Scaling Artifacts)

当为瓦片使用单一贴图时,缩放瓦片集(或者移动到没有像素),都会导致如下问题( filtering artifacts):