title: Defold 瓷砖地图教程
瓷砖地图 是一个可以借由瓷砖图源装配, 绘制成一个大网格地图的组件. 瓷砖地图一般用来作为游戏关卡环境. 你可以在地图上使用瓷砖图源里设置的 碰撞形状 来进行碰撞检测或者模拟物理效果 (example).
创建瓷砖地图之前要先创建好瓷砖图源. 关于如何创建瓷砖图源, 详情请见 瓷砖图源教程.
创建瓷砖地图的步骤:
{srcset="images/tilemap/[email protected] 2x"}
在瓷砖地图上绘制瓷砖的方法:
{srcset="images/tilemap/[email protected] 2x"}
{srcset="images/tilemap/[email protected] 2x"}
你可以直接从层里选择一块瓷砖当作笔刷. 按住 Shift 键点击瓷砖即可把它用作当前笔刷. 按住 Shift 键并拖动还可以选择一片瓷砖作为大笔刷.
笔刷顺时针旋转快捷键 Z. 笔刷水平翻转快捷键 X, 笔刷垂直翻转快捷键 Y.
{srcset="images/tilemap/[email protected] 2x"}
把瓷砖地图加入游戏的步骤:
{srcset="images/tilemap/[email protected] 2x"}
有一套用于在运行时修改瓷砖地图的方法和属性 (参见 API文档).
游戏运行时可以使用脚本动态读写瓷砖地图的内容. 通过调用 tilemap.get_tile() 和 tilemap.set_tile() 函数:
local tile = tilemap.get_tile("/level#map", "ground", x, y)
if tile == 2 then
-- Replace grass-tile (2) with dangerous hole tile (number 4).
tilemap.set_tile("/level#map", "ground", x, y, 4)
end
除了 Id, Position, Rotation 和 Scale, 瓷砖地图还有如下属性:
Tile Source : 瓷砖地图的图源.
Material : 瓷砖地图的材质.
Blend Mode : 瓷砖地图的混合模式.
使用 go.get() 和 go.set() 方法可以修改瓷砖地图的属性:
tile_source
: 瓷砖图源 (hash). 可以使用 go.set() 方法指定瓷砖图源. 参见 这个例子的 API 用法.
material
: 瓷砖地图材质 (hash). 可以使用 go.set() 方法指定瓷砖地图材质. 参见 这个例子的 API 用法.
{% include shared/material-constants.md component='tilemap' variable='tint' %}
tint
: 3D网格颜色 (vector4). 四元数 x, y, z, 和 w 分别对应红, 绿, 蓝和不透明度.
在 game.project 文件里有些关于瓷砖地图的 设置项目.