godot2D游戏教程系列二(9)

前言:

完成目标

成功为墙体瓦片添加了真实的碰撞体,让玩家无法穿墙。

具体实现了:

  • 记得保存工程(避免白做)
  • 给瓦片地图添加物理层
  • 将绘制属性切换为"物理层"
  • 手动为每块墙体瓦片绘制多边形碰撞形状
  • 开启网格吸附(数值8),让碰撞点更精准
  • 为不同墙体瓦片分别设置碰撞体
  • 启动游戏测试,确认角色会被墙挡住
  • 调整玩家影子透明度,让画面更自然
  • 完成外角墙体的碰撞绘制(内角暂未处理)

最终效果:

现在墙不仅"看起来是墙",而且真的能挡住玩家,游戏从"画面展示"升级为"具备基础物理碰撞"的可交互场景。

  • 实现过程;
  • 我们在上一篇文章中将地图的大致碰撞形状都进行绘画了,但是当我我们的玩家角色走到角落还是会被卡住,这个时候我们就需要来绘制一下角落来了,我们给角落绘制一个三角形。我们选取那个有角角的图块(瓦片)
  • 然后利用多边形工具画一个三角形,小角落画小三角1*1,大角落就画1*2,然后记得画的时候,要随时保存,因为笔者在画画的时候闪退了,很惨了属于是
  • 画完三角形之后的样子就是这样子的,酷酷画就完事了,记得一定要随时保存,笔者闪退了2次笑死。然后在测试的时候需要haul一个更复杂的测试地图,让玩家角色去跑动来测试
  • 然后接下来让我们来搞定入口台阶的瓷砖铺设
  • 我们先用在地形选项卡那里选择使用矩形工具给玩家画一个大平台
  • 然后我们切换回图块选项卡选择我们的台阶瓦片点上去
  • 然后我们会发现我们的右边被墙挡住了,这个时候我们使用橡皮擦处理一下就好了


*

  • 然后我们需要给入口台阶添加碰撞形态
  • 然后我们启动游戏,全屏并且点击一下上面的扩展图标,这样子一看我们绘制的瓦片就大功告成啦
  • 然后我们来移动一下这一块瓦片地图到我们的草地中心,我们不要移动节点位置,而是选择瓦片地图的选择工具进行移动,我们点击选择工具之后框选我们创造的瓦片地图然后进行移动就好
  • 然后我们将我们的这个瓦片地图图层节点重命名为TileMapLayer_Platform
相关推荐
LuminousCPP2 分钟前
C 语言系列终章|编译与链接 + 预处理
c语言·经验分享·笔记·预处理·编译链接
.千余4 分钟前
【C++】 String 常用操作:增删查改 | 查找 | 截取 | IO
java·服务器·开发语言·c++·笔记·学习
xian_wwq5 分钟前
【学习笔记】「大模型安全:攻击面演化史」第 04 篇-模型窃取与供应链安全
笔记·学习·ai安全
十月的皮皮5 分钟前
C语言学习笔记20260607-判断一个数是否为2的n次方(三种方法)
c语言·笔记·学习
tedcloud1236 分钟前
FluentFlyout部署教程:打造更美观的Windows桌面环境
数据库·人工智能·sql·学习·自动化
nashane6 分钟前
HarmonyOS 6学习:指南针“文图反向”Bug修复——从“北偏东”变“北偏西”的坐标系纠错
学习·华为·bug·harmonyos
wgc2k9 分钟前
Oops Framework-8-由空项目创建第一个登录界面
游戏·cocos2d
速易达网络19 分钟前
躲避巨石游戏 · Python版
游戏
wgc2k22 分钟前
Oops Framework-7-由空项目创建Oops Framework项目
游戏·cocos2d
sheeta199829 分钟前
LeetCode 补拙笔记 日期:2026.06.07 题目:49. 字母异位词分组
笔记·算法·leetcode