【问题标题】:Godot - any way to trace signals?Godot - 任何跟踪信号的方法?
【发布时间】:2019-06-06 00:46:48
【问题描述】:

信号是 Godot 脚本的一个基本特征,但我正因为它们而苦苦挣扎。

在动态连接和发出信号时,我总是弄错信号的名称​​(例如,实际上是“create_server”时的“start_server”)。最重要的是,信号无处不在。我使用的其他消息传递模式通常为侦听器提供一个通用的发布者来订阅,从而使侦听和调试通信变得容易。在 Godot 中,一切都直接与其他一切相连。他们上场景树,下树,再到兄弟姐妹。正因为如此,我发现非常令人沮丧,一旦游戏变得非常庞大,就无法跟踪其进展情况。

我喜欢这个引擎的一切,但这太让人抓狂了。 有没有办法跟踪这些信号,以便我可以减轻这些小但非常频繁且难以发现的信号错误?

【问题讨论】:

    标签: signals godot gdscript


    【解决方案1】:

    我不确定这是否是“最佳实践”,但您可以为您的项目制作一个包含所有信号名称常量的全局 gd 文件。如果您清楚地记得信号的前缀,那么让它为您自动完成信号名称可能会更容易。

    例如

    signal_globals.gd const SIG_SERVER_CREATE = "create_server" const SIG_HABADASHER = "habadasher_crasher" ... something.connect(SIG_SERVER_CREATE, this, "_create_server_now")

    虽然理论上代码完成应该已经能够自己做信号名称了......

    设置global.gd script的链接。

    【讨论】:

    • 这是一个非常好的建议,但是如何导入该全局文件以便变量在我的节点脚本中可用?我什至不知道这在 GDScript 中是可能的......
    • 这里有一个link,说明如何为所有脚本设置一个全局可访问的 .gd 文件。
    猜你喜欢
    • 2021-10-28
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    相关资源
    最近更新 更多