You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot编辑器中Node2D位置标记无法实时更新的问题求助

Tool模式下修改子节点位置后编辑器Gizmo不实时更新的问题

我在Godot v4.2.2.stable.official [15073afe3]中编写了一段Tool模式脚本,用于更新子节点的位置:

@tool
extends Node2D

@export var btn := false : set=set_btn

func set_btn(new_val):
    if !new_val:
        return
    
    $ChildNode.global_position=Vector2(-100, -100)

执行这段代码时,子节点的图标(绿色)已移动到目标位置,但节点的Gizmo(红色标记)仍停留在原位置,必须保存场景或将鼠标拖入视口才会更新。我尝试调用queue_redraw(),但没有效果。

补充说明

演示GIF中可见:点击按钮后子节点图标移动,但红色Gizmo标记需等待保存场景或鼠标进入视口才刷新。

补充说明2

以下代码在部分场景下能生效,但当递归设置所有子节点的position/transform时,只有保存场景(Ctrl+S)才能更新Gizmo标记:

@tool
extends Node2D

@export var btn := false : set=set_btn

var _editor_plugin := EditorPlugin.new()

func set_btn(new_val):
    if !new_val:
        return

    $ChildNode.global_position=Vector2(-100, -100)
    _editor_plugin.update_overlays()

内容的提问来源于stack exchange,提问作者Manas R. Makde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:03:11