如何在每次加载或重新加载脚本时调用函数?
tool
func _reload():
print("Changes have been made and saved! Script has been reloaded")
func _load():
print("Project was just opened! Script has been loaded")发布于 2022-02-13 10:13:42
我不知道你所说的重新加载是什么意思(或者为什么它是一个问题),但它可能就是其中之一:
当您向场景树添加一个
EditorPlugin添加到编辑器的场景树中),或者当它被加载时(在加载项目时加载所有插件),_enter_tree中的代码将运行。类似地,当删除它(或者当插件被禁用时),_exit_tree中的代码将运行。请注意,对于手动运行的(EditorScript),tool脚本,这些脚本不起作用。所以做一个EditorPlugin__). (或Node )
"script_changed"。因此,如果要处理修改工具脚本并因此重新加载的情况,可以连接到该信号。您还可能希望利用_init,这是戈多调用的第一个虚拟方法(在Node上,您也可以使用_enter_tree和_ready)。在新脚本中调用"script_changed"之前发出信号。
如果要处理修改_set.属性时的
setget一起),或者可以在Node中截取这些属性既然您提到“项目刚刚打开”,我认为您想要制作一个EditorPlugin,然后可以使用_enter_tree和_exit_tree。
在保存编辑器上当前编辑的场景时,我还没有找到获得通知的方法。但是,保存场景并不意味着tool脚本无论如何都会被加载或重新加载。
https://stackoverflow.com/questions/71099182
复制相似问题