【Godot4笔记】TileMap



添加TileMap节点后,右侧属性面板中TileSet中选择新建,然后选中新建的TileSet,设置好TileSet属性的x、y的大小,就是地图块的大小,编辑器底部会新增TileSet、TileMap两个选项。

设置地图块:
选择TileSet选项,在图块中拖入地图图片,弹出的提示可以选择自动创建地图块,但是如果地图块很多,可能会导致TileSet很卡(编辑器会崩溃)。
图块列表里选中地图文件,中间菜单选中“设置”页签,可以在右侧预览图里增删地图块,左键点击添加、右键选择删除,按住ctrl+左键拖动可以多选,按住ctrl+shift+左键拖动可以扩展地图块。选中中间菜单选中“选择”页签,预览图里选中地图块后,通过拖动图块周围的两点,可以向周围未选择的地图块来扩展地图块。

绘制地图:
添加完地图块后,选择底部TileMap选项,进入绘制菜单,同样选择图块列表中的地图文件,然后选择右侧预览图中的图块,在2D界面编辑窗口中绘制地图。

*画不出图片的时候,检查:
1.TileMap选项顶部菜单,不要选中“选择”选项

2. 2D界面编辑窗口中,要选中“选择模式”

3.来回选择节点,切换一下,再选中TileMap节点(有时候编辑完地形也要这样更新下才能看到)

按住shift+左键点击多选地图块,选择TileMap选项顶部菜单中的随机选项,然后设置离散值,可以在地图上随机画选中的图块。
使用扩展的地图块,可以画出重叠的效果。

在TileMap选项顶部菜单中,选中“选择”,在地图编辑窗口左键点选、左键拖选,选中地图块,可以移动、删除选中的地图块。
图案:
选中TileMap顶部的“图案”选项,在地图编辑窗口,选中地图块后,可以直接拖到“图案”中,选中“图案”中的选项后,可以选择随机属性,方便直接使用。

地图块动画:
地图块动画只能横向设置,横向地图块是动画帧,第一张图设置为可用地图块,后面几张图未设置成可用地图块。

TileSet选项中,选中图块中“选择”选项,选中第一帧地图块,在菜单中选择“动画”,设置列数(帧数,图块数量),在Frames中按照帧数添加选项,然后设置每帧时长。

在TileMap中,选择动画地图块绘制。
备选图块:
TileSet中,右键地图块,选择“创建备选地图块”,基础图块右侧的备选图块中会添加新的地图块,点击“+”可以快速添加。

地图层级:
TileMap节点属性中,Layers中添加层级。

碰撞:
选择TileMap节点属性中,PhysicsLayers中添加元素。
TileSet选项中选择“绘制”,绘制属性选择“物理层0”,在下方绘制碰撞体形状,再点击右侧地图块,将绘制好的碰撞赋予该地图块。
给角色添加Collision节点后,角色就不能穿过带有碰撞的地图块了。

地形:
TileMap节点属性中,TerrainSets中添加元素,Mode属性选项为地形匹配方式,分别是根据边、角、边和角,在下方“Terrains”中添加元素,设置地形名、颜色。

TileSet中选择“绘制”,绘制属性中选择“地形”,TerrainSet选项,“没有地形”可以删除地图块设置的地形,选择“Terrain Set x”,再选择下方“Terrain”选项来绘制地形。

选择地形后,在图块中左键点选选出需要的地形,右键取消选择,如果地形块的边或角会邻接相同的地图,就画上地形。
TileMap选项中选择“地形”选项,选中要绘制的地形,使用矩形在编辑界面快速绘制地形。

YSort:
开启后根据图片的YSortOrigin(Y排序原点)来显示前后顺序。TileMap节点、TileMap节点的父节点的Ordering属性,TileMap节点的Layers中要设置的地图层中,勾选“YSortEnabled”,“ZIndex”的值设置成大于1,角色所在节点的属性中Ordering-ZIndex的值要与地图层的值保持一致。




在TileSet中选择“绘制”,绘制属性选择“Y排序远点”,修改“YSortOrigin”的值,然后点击图块进行配置。
玩家角色的碰撞可以设置小些,通过Offset属性来改变图片中心的位置。
