【问题标题】:How to add Signals to objects created with add_child如何将信号添加到使用 add_child 创建的对象
【发布时间】:2021-08-20 21:11:20
【问题描述】:

我希望在我的根类中使用此方法创建与预先存在的对象重复的子对象。虽然它在运行时成功地在远程树中创建了该对象的副本,但它不会像原始对象那样发送信号(例如,对象向实时显示其全局位置的 UI 组件发送信号)。如何创建与原始信号发出的信号相匹配的子对象?

func create_Object(Obj, 大小, 位置): var New = Obj.instance() add_child(新) 新的.scale = 大小 New.global_transform.origin = 位置

【问题讨论】:

    标签: godot gdscript


    【解决方案1】:

    您可以用get_signal_list 枚举Node 的已定义信号列表。示例:

    var signals = node.get_signal_list()
    for cur_signal in signals:
        print(cur_signal.name)
    

    您可以使用get_signal_connection_list 获取传出连接:

    var signals = node.get_signal_list()
    for cur_signal in signals:
        var conns = node.get_signal_connection_list(cur_signal.name)
        for cur_conn in conns:
            print(cur_conn.signal)
            print(cur_conn.target)
            print(cur_conn.method)
    
    

    然后将它们与connect 联系起来:

    var signals = node.get_signal_list()
    for cur_signal in signals:
        var conns = node.get_signal_connection_list(cur_signal.name)
        for cur_conn in conns:
            new_node.connect(cur_conn.signal, cur_conn.target, cur_conn.method)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多