信号是Godot脚本编写的基本功能,但由于它们,我正在研究糖蜜。
在动态连接和发出信号时,我总是误认为信号名称(例如,当它实际上是“ create_server”时为“ start_server”)。最重要的是,信号遍布各处。我使用的其他消息传递模式通常为侦听器提供通用的发布者订阅,从而使侦听和调试通信变得容易。在Godot中,所有内容都直接 链接到其他所有内容。他们沿着场景树,沿着树下来,到达兄弟姐妹。因此,我发现非常令人沮丧,以跟踪游戏甚至变得遥不可及的情况。
我爱这个引擎的所有东西,但这真令人发疯。 有没有一种方法可以跟踪这些信号,以便减轻这些很小但非常频繁且难以发现的信号错误?
答案 0 :(得分: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。