
15分钟用Tiled做出一张能进引擎的2D游戏地图【免费下载链接】tiledFlexible level editor项目地址: https://gitcode.com/gh_mirrors/ti/tiled还在用画图软件一格一格手画关卡再用代码手写碰撞矩形吗Tiled 是一个功能灵活的 2D 瓦片地图编辑器flexible level editor专为 RPG、平台跳跃这类基于瓦片的 2D 游戏设计。它支持正交、等距、六边形等多种地图朝向图层、瓦片、对象都能挂自定义属性导出为引擎通用的 TMX 格式。跟着这篇实操指南走15 分钟内你会得到一张带碰撞数据和对象信息的可导入地图。跑通一条完整流程从新地图到可交付的 TMX先交代一下这张文章对应的完整工作流后面每节都在这条线上推进安装 Tiled打开主界面新建项目文件和地图文件挂上瓦片集用印章笔刷画出地形用对象层标注出生点给阻挡类瓦片画碰撞形状保存为.tmx拿到引擎里直接用你不需要提前会写代码整个过程中 Tiled 只做两件事把像素级的绘制变成选瓦片、盖章把原本要硬编码的关卡数据变成可视化图层。安装Tiled并认识主界面布局按你的系统选一条路即可Windows / macOS从 GitHub Releases 下载安装包macOS 版本经 Apple Developer 签名Linux用官方发布的 Flatpak 或 Snap包管理器的版本通常偏旧开发者从源码编译装好 Qt 6 开发库和 Qbs 后执行下面这条命令它完成工具链检测、构建并启动 Tiledqbs setup-toolchains --detect # 检测本机工具链 qbs # 构建 Tiled qbs run -p tiled # 直接运行编译产物首次启动是启动窗口建议先选File - New - New Project...建一个项目文件放在你游戏项目根目录。项目目录会被自动加入 Project 视图之后所有素材瓦片集、地图、模板都能从这里快速访问。主界面记住三个位置就够了左侧 Project 视图管文件中间画布放地图底部一排是工具栏、Tilesets瓦片集视图和 Properties属性面板。找不到某个功能时按CtrlShiftP打开动作搜索直接输入功能名定位比翻菜单快得多。新建一张正交地图并挂上瓦片集选File - New - New Map...快捷键CtrlN。第一次建图直接取默认值即可50×15 格、32 像素瓦片、正交Orthogonal朝向、有限地图。这些参数之后都能改不必纠结。建好地图后给画布挂上素材。在右侧 Tilesets 视图空白处点Add Tileset...选New Tileset from Image...挑一张精灵图比如仓库自带的示例瓦片图 examples/desert.tsx 引用的那张沙漠图集。建议把瓦片集存成独立的.tsx外部文件后面多个地图可以共享它改一处全部生效。挂上瓦片集后再建两个图层为后面铺地形和标对象做准备加一个 Tile Layer瓦片层右键 Layers 面板选Add Layer - Add Tile Layer这是画地面的地方加一个 Object Layer对象层同一路径选Add Object Layer用来放出生点、路径这类引擎要读的数据用印章笔刷铺地形画地、擦错、换工具选中标注好的瓦片层按B切到印章笔刷Stamp Brush。在 Tilesets 视图里点一下某块瓦片它就进入印章槽回画布按住鼠标拖拽瓦片就会连续盖下去。支持画直线和圆圈印章槽里也可以存多个瓦片随时切换。画错了按E拿橡皮擦Eraser清掉或者直接用CtrlZ撤销。如果你的瓦片集是那种草地要和水自动过渡的图集别手动一块块选——Tiled 有 Terrain 工具先在瓦片集里声明哪些瓦片属于哪种地形之后笔刷会替你挑对过渡瓦片还能自动修正相邻瓦片。官方文档里 terrain 一节 有完整的声明步骤仓库示例 examples/sewer_automap/ 还能展示更激进的自动映射规则。一个容易混的概念先说清瓦片集tileset是素材库地图map是使用它的现场。给瓦片挂的属性跟着.tsx走画在画布上的内容跟着.tmx走。后面加碰撞数据时你会直接体会到这个区别。给阻挡类瓦片加碰撞数据让引擎知道哪里不能走平台游戏里最烦的事之一树、尖刺、悬崖在画面上好看角色却能穿过去。Tiled 的碰撞编辑器把这件事做成了可视化操作。在工具栏点Tile Collision Editor切到瓦片集视图选中一个瓦片比如一棵树在格子里拖出碰撞形状。矩形、多边形、椭圆都能用多边形还支持凹形可以精确贴合不规则轮廓。每个形状还能单独挂自定义属性。注意这些数据写进瓦片集文件而不是地图文件——这是瓦片集是素材库这个原则的直接体现。你在碰撞编辑器里改了树的碰撞形状所有引用了这棵树的地图自动生效不用一张张翻回去改。用对象层标出生点与巡逻路径再挂上自定义属性地形画完轮到逻辑数据。选中标注好的对象层Tiled 提供六种对象点、矩形、椭圆、多边形、折线、瓦片。最常用的两个场景在玩家出生位置放一个 Point 对象命名PlayerSpawn沿 NPC 行走路线画一条 Polyline折线对象命名PatrolPath对象不要求对齐瓦片网格可以自由缩放和旋转。接下来是 Tiled 相对纯画板类工具的核心优势Properties 面板。选中任意对象也可以选中地图、图层、瓦片在面板里加自定义属性比如给PlayerSpawn加一个字符串属性world值为farm给PatrolPath加数值属性speed值为120。类型支持布尔、数值、字符串、颜色、文件引用引擎导入后按名字读取即可。对象层除了放东西还承担了地图级标注边界框、相机范围、触发区域本质上都是放在对象层的形状对象。你策划要什么数据就定义什么对象Tiled 不做限制。保存为TMX你的地图最终长什么样回到主地图CtrlS保存。文件后缀是.tmx本质是 XML结构可以在 官方格式参考 里查到。两个直接影响工程协作的设置瓦片层数据可以选压缩编码base64 zlib地图文件能小一个数量级导出其他格式走File - Export Map As...Tiled 自带 CSV、JSON、tbin、TMHUnity等插件仓库 src/plugins/ 目录里能看到全部支持的目标格式第三方引擎格式需要留意比如直接编辑《星露谷物语》的 tBIN/tIDE 地图需要先在Edit - Preferences - Plugins里启用tbin插件它默认关闭因为这种格式不支持对象层和外部瓦片集不是无损的。踩坑实录新手最常见的三个卡点地图打开是空的。多半是相对路径问题.tmx里记录的瓦片集路径是相对路径地图和瓦片集的目录层级一动就找不到了。用项目文件统一管理、别乱挪文件夹能省掉大量排查时间。改碰撞形状后地图没变化。你改的是瓦片集里的碰撞需要确认打开的是.tsx视图而不是地图视图另外检查这块瓦片确实来自那个瓦片集而不是同图集的另一个实例。瓦片在引擎里错位或顺序不对。先看两处设置地图朝向是否一致、渲染顺序Render Order是否和引擎的绘制约定匹配。等距地图的渲染顺序对表现影响尤其大。下一步行动打开示例地图 examples/desert.tmx 练手对照右侧属性面板看每个设置对应地图里的什么读 docs/manual/terrain.rst给你的瓦片集声明一套地形体验自动过渡需要批量处理地图时看 docs/manual/scripting.rst 里的 JavaScript 扩展方式把重复操作写成脚本【免费下载链接】tiledFlexible level editor项目地址: https://gitcode.com/gh_mirrors/ti/tiled创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考