Godot俯视角游戏:武器随鼠标转向时的Sprite翻转判断问题咨询
俯视角游戏武器翻转问题解决方案
核心逻辑
通过对比鼠标与角色的全局X坐标,判断鼠标位于角色左侧还是右侧,以此控制Sprite和武器的flip_v状态。
实现步骤
- 获取角色的全局位置,与鼠标全局位置的X坐标做对比
- 当鼠标X坐标小于角色X坐标时,判定为鼠标在左侧,开启
flip_v;反之关闭
修改后的代码
var mouse_pos = get_global_mouse_position() var player_pos = get_global_position() # 判断鼠标是否在角色左侧 var mouse_on_left = mouse_pos.x < player_pos.x # 武器跟随与翻转控制 var gun = get_node("gun") gun.look_at(mouse_pos) gun.flip_v = mouse_on_left # 同步角色Sprite的翻转(根据需求调整节点路径) var player_sprite = get_node("Sprite") player_sprite.flip_v = mouse_on_left
注意事项
- 确保武器节点的旋转轴心设置合理,避免翻转后出现位置偏移
- 如果角色Sprite有独立的朝向逻辑,请根据实际场景调整翻转规则
内容的提问来源于stack exchange,提问作者Caio Vitor
相关产品推荐
相关产品推荐

