关于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

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

137

社区成员

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

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