【发布时间】:2020-01-09 18:34:43
【问题描述】:
所以我有一个带有 area_2d 敌人的节点。当玩家击中任何敌人时,on_enemy_area_entered 信号会调用游戏结束函数,该函数将在该游戏实例期间收集的硬币添加到全局硬币变量并保存。漂亮又漂亮……除非玩家同时击中两者。发生这种情况时,信号会调用game_over 函数两次,因此玩家会在主菜单中看到他真实分数的两倍....由于游戏类型,我无法阻止玩家击中两个敌人同一时间
我能做什么
【问题讨论】:
-
简而言之,让负责
game_over()的对象有一个名为has_game_ended之类的布尔变量。在game_over()的顶部检查has_game_ended。如果是true从game_over()返回。 -
当玩家被击中时,禁用碰撞器(也可以断开信号)并“杀死”玩家,然后初始化一个新的玩家场景
标签: godot