godot2D游戏教程系列二(9)

前言:

完成目标

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

具体实现了:

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

最终效果:

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

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


*

  • 然后我们需要给入口台阶添加碰撞形态
  • 然后我们启动游戏,全屏并且点击一下上面的扩展图标,这样子一看我们绘制的瓦片就大功告成啦
  • 然后我们来移动一下这一块瓦片地图到我们的草地中心,我们不要移动节点位置,而是选择瓦片地图的选择工具进行移动,我们点击选择工具之后框选我们创造的瓦片地图然后进行移动就好
  • 然后我们将我们的这个瓦片地图图层节点重命名为TileMapLayer_Platform
相关推荐
一定要AK2 小时前
刷题时的学习笔记
c++·笔记·学习
xxxibolva3 小时前
SQL 学习
数据库·sql·学习
Rabbit_QL4 小时前
【CI/CD】01_为什么手动部署是个危险游戏
游戏·ci/cd
星辰即远方6 小时前
OC学习Foudation框架
学习·ios·objective-c
yyk的萌7 小时前
AI 应用开发工程师基础学习计划
开发语言·python·学习·ai·lua
龘龍龙8 小时前
大模型学习(三)-RAG、LangChain
学习·langchain
计算机安禾9 小时前
【数据结构与算法】第22篇:线索二叉树(Threaded Binary Tree)
c语言·开发语言·数据结构·学习·算法·链表·visual studio code
计算机安禾9 小时前
【数据结构与算法】第21篇:二叉树遍历的经典问题:由遍历序列重构二叉树
c语言·数据结构·学习·算法·重构·visual studio code·visual studio
信奥胡老师9 小时前
P1255 数楼梯
开发语言·数据结构·c++·学习·算法