2503_91606465 2025-04-15 14:29 采纳率: 0%
浏览 5

为什么拖动卡牌时,卡牌会向右下偏移,不在鼠标位置

img


拖动卡牌时,卡牌会向鼠标右下方向偏移一段距离,dl们能帮我看看代码有问题吗

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-04-15 14:29
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    你遇到的问题可能是由于在拖动卡牌时,卡牌的锚点(anchor)没有正确设置导致的。Godot中,卡牌的锚点默认是设置在卡牌的中心点上,这可能会导致卡牌在拖动时偏移。

    你可以尝试在卡牌的 drag_start 事件中设置卡牌的锚点为鼠标位置,例如:

    func _on_Card_drag_start():
        set_as_toplevel(true)
        set_anchor_point(get_global_mouse_position())
    

    这将设置卡牌的锚点为鼠标当前位置,从而使卡牌在拖动时保持在鼠标位置。

    如果你已经设置了锚点,但卡牌仍然偏移,可以尝试在 drag 事件中更新卡牌的锚点,以跟踪鼠标的移动位置:

    func _on_Card_drag():
        set_anchor_point(get_global_mouse_position())
    

    这将在卡牌拖动时不断更新锚点,以保持卡牌在鼠标位置。

    如果你已经尝试了上述解决方案,但问题仍然存在,可以提供更多的代码和信息,以便更好地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月15日