godot2D游戏教程系列二(9)

前言:

完成目标

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

具体实现了:

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

最终效果:

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

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


*

  • 然后我们需要给入口台阶添加碰撞形态
  • 然后我们启动游戏,全屏并且点击一下上面的扩展图标,这样子一看我们绘制的瓦片就大功告成啦
  • 然后我们来移动一下这一块瓦片地图到我们的草地中心,我们不要移动节点位置,而是选择瓦片地图的选择工具进行移动,我们点击选择工具之后框选我们创造的瓦片地图然后进行移动就好
  • 然后我们将我们的这个瓦片地图图层节点重命名为TileMapLayer_Platform
相关推荐
敬往事一杯酒哈15 小时前
海康 AGV 导航读码器学习
学习
qq_2842740516 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
qq_2842740517 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
Titan202418 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
小雪崩19 小时前
嵌入式学习 day64:字符设备驱动
学习
深圳老胡20 小时前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
个 人 练 习 生20 小时前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生
坤坤子吖20 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习
乐橙开放平台20 小时前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
零基础12320 小时前
FinalShell 使用教程:从安装到高效运维
运维·经验分享·笔记·finalshell