Godot 的 Area2D 有时无法立即检测到碰撞

问题描述 投票:0回答:0

我有一个快捷栏位于顶部直到玩家靠近,然后它移动到底部,反之亦然。 Area2D 在顶部工作得很好,它在第一次触摸时立即做出反应,但在它反应之前我必须进入底部: HotbarTop HotbarBottom

这是我的代码:

func _on_HotbarCollision_area_entered(area):
    if hotPosition == hotTopPosition:
        hotPosition = hotBottomPosition
        count = 0
    elif hotPosition == hotBottomPosition:
        hotPosition = hotTopPosition
        count = 0

    position = hotPosition
    print(area)

任何问题可能出在哪里的想法?

如您所见,我打开了 Visible Collision Shapes,打印时显示玩家正在触发它。 我试过删除和添加节点。尝试将信号更改为 Area_Shape_Entered。我试过将 CollisionShape2D 更改为不同的形状。我没主意了。

collision-detection godot
© www.soinside.com 2019 - 2024. All rights reserved.