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

绝世刀魔 绝世刀魔 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

问题描述

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

img


​

原因分析:

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

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

解决方案:

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

img

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

img

...全文
评论
收藏 已收藏
分享
返回顶部