Godot-玩家经过某个区域时触发

问题描述

我正在尝试完成游戏的开始,当玩家经过终点线(区域节点)时,它只会打印完成。

我用碰撞形状设置了区域,然后将其连接到我的世界空间。

然后在该区域上放置一个组,以便在输入并位于该组中时将进行打印。但是什么也没发生。

 func _on_Area_body_entered(body):
    if body.is_in_group("Player"):
        print('finished')

如果我在没有if body.is_in_group的情况下执行相同的代码,则它会打印,但也会在游戏首次加载时触发。

解决方法

再次检查您的播放器是否在“玩家”组中。

在场景中选择您的播放器,然后转到:

Add your player to the "Player" group

或者在您的Player脚本中:

func _ready():
    add_to_group("Player")