关于FlappyBird只能触发得分无法触发死亡这件事的解决办法

绝世刀魔 学生2021 2023-05-28 21:24:43

问题描述

 在学习开发游戏的老王【手把手带你Godot游戏开发】FlappyBird:5.2 无尽水管子滚滚来(二)时发现只能输出“得分”而不能触发死亡。

img


原因分析:

检查了代码发现没问题,然后仔细研读了老师的这篇文章:Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D与StaticBody2D碰撞) ,发现老师讲的很清楚:

为了避免不必要的性能消耗,RigidBody以及RigidBody2D默认是不开启碰撞检测的,所以需要碰撞检测必须做两件事:
将Contact Monitor设为true(开启碰撞检测)
将Contact Reported设为一个大于0的值(返回碰撞结果最大数量)

解决方案:

所以只需要启用Contact Monitor并将Contacts Reported设为1即可。如下图

img

如此,就可以正常触发得分和死亡了。

img

...全文
270 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

137

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发教学区
开发语言 高校
社区管理员
  • 开发游戏的老王
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧