godot2D游戏教程系列二(8)

前言:

完成目标

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

具体实现了:

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

最终效果:

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

  • 实现过程:
  • 在这里笔者遇到了自己忘记保存关电脑的事情,所以朋友们记得一定要按保存啊!!!!
  • 我们需要先创建一个物理层,我们到瓦片地图层节点的检查中添加元素
  • 我们继续使用绘制模式,然后切换绘制属性为物理层,这里物理层默认的碰撞形状是正方形。不是完全匹配我们的瓦片的,所以我们要进行手动根据瓦片修改一下
  • 我们需要自定义一下这个碰撞形态与墙体轮廓相匹配,所以我们点集绘制模式旁边的那个笔的图标也就是拾取工具,我们选取一下左下角的瓦片,这样子我们的碰撞形态的本体就是我们选取的瓦片
  • 然后我们点击那个扩展的图标,进行放大视图


*

  • 然后我们需要在这个图块上绘制碰撞形状,我们启用网格吸附模式,并且改为8


*

  • 这样子我们创建多边形的时候,这个点总是会吸附到这个网格上。然后我们点击网格来创建第一个碰撞形状,我们选择添加多边形工具
  • 接着我们依次点击就好了,顺时针依次点击,注意这里撤回上一步的话是直接退回到了新建物理层了,所以要注意一下
  • 绘制好之后我们回到瓦片那里,我们只需要轻点一下我们先前选取的瓦片就可以设置好它的碰撞形态了
  • 接着我们选取第二块瓦片来设置它的碰撞体形状


*

  • 继续操作画第三块瓦片
  • 继续操作画第四块瓦片


*

  • 然后你可以发现我们画的这后面三块瓦片就连起来的,然后我们放置一下瓦片,并且左上角调试那里显示碰撞区域再进行启动游戏
  • 然后我们就看到那个墙的碰撞形状,玩家角色也是被挡住了
  • 这里我们觉得玩家角色的影子太实了。我们让影子变的透明一些,我们来到玩家场景的2d阴影精灵节点点击左边检查器的可见性Visibility属性,点击Modulate然后设置透明度为150
  • 接下来我们继续绘制瓦片的物理层,把所有的外角都进行绘制一下就是这个样子(这里是还没处理内角),提示你画完左边的就有些碰撞形状可以复用到右边那里
相关推荐
风曦Kisaki2 小时前
# Kubernetes(K8s)笔记Day12 :K8s 七层代理(Ingress 和 Ingress Controller)
linux·笔记·云原生·容器·kubernetes
Bernice橘子2 小时前
职场英语学习计划Day034
学习
雪之下雪乃的代码日记2 小时前
Python快速入门(Java开发者版)
java·开发语言·笔记·python
磊灬泽3 小时前
【从零学习 MQTT】发布/订阅、主题、QoS 与报文解析
学习
zzh___zzh3 小时前
Java Stream API 常用方法笔记
java·笔记
0566463 小时前
Python数据结构——循环队列
python·学习
zzm6283 小时前
安全嵌套子博弈求解与非完美信息博弈——NIPS 2017 最佳论文阅读笔记
论文阅读·笔记·nips·博弈论
ownkss3 小时前
游戏公会联运怎么做:步骤、指标与复盘重点
游戏·游戏发行·游戏运营·游戏分发
天国梦4 小时前
2026高中生英语词汇学习APP测评:天学网等4款产品实测对比
学习
砚凝霜4 小时前
软考网络工程师|第 6 章 网络安全基础、攻击、等保完整备考笔记
网络·笔记·web安全