GDscript 中的工具模式2024 年 8 月 29 日 | 阅读 3 分钟 脚本不会在编辑器内部运行,并且只能更改导出的属性。在某些情况下,希望它们在编辑器内部运行(只要它们不执行游戏代码或手动避免这样做)。为此,存在工具关键字,并且必须将其放在文件的顶部 内存管理如果一个类继承自 Reference,那么实例将在不再使用时被释放。不存在垃圾收集器,引用计数。默认情况下,所有未定义继承的类都扩展 Reference。如果这不符合要求,则类必须手动继承 Object 并调用 instance.free()。为了避免无法释放的引用循环,提供了 weakref 函数用于创建弱引用。 信号通常希望发送一个通知,表明实例中发生了某些事情。 GDScript 支持创建内置的 Godot 信号。在 GDScript 中声明一个信号很容易,只需使用 signal 关键字。 这些信号可以在编辑器中或从代码中像常规信号一样连接。获取声明信号的类的实例,并将其连接到另一个实例的方法 还可以将参数绑定到没有参数的信号上,使用您的自定义值 当来自多个对象的信号连接到单个回调并且必须识别发送者时,这很有用 最后,通过使用 Object.emit_signal 方法来发出自定义信号 带 yield 的协程GDScript 通过 yield 内置函数支持协程。 调用 yield 将立即从当前函数返回,并将该函数的当前冻结状态作为返回值。 在此结果对象上调用 resume 将继续执行并返回函数返回的任何内容。 恢复后,状态对象将变为无效。 这是一个例子 将打印 Hello my dear world 也可以在 yield() 和 resume() 之间传递值,例如 将打印 Hello world cheers! 协程和信号使用 Yield 的真正优势在于与信号结合使用。 Yield 可以接受两个参数,一个对象和一个信号。 接收到信号后,将重新开始执行。 这里有一些例子 协程本身在过渡到无效状态时使用已完成的信号, 例如 my_func 仅在两个按钮都被按下后才会继续执行。 Onready 关键字使用节点时,通常希望将对场景部分的引用保存在一个变量中。由于视图仅在进入活动场景树时才会被配置,因此子节点只能在调用 Node._ready() 时才能获得。 这可能会变得有点麻烦,尤其是在节点和外部引用堆积时。 为此,GDScript 提供了 onready 关键字,该关键字推迟成员变量的初始化,直到调用 _ready。 它可以将上面的代码替换为一行代码 Assert 关键字assert 关键字可用于在调试版本中检查条件。 这些断言在非调试版本中被忽略。 下一主题Godot 中的第一个游戏 |
我们请求您订阅我们的新闻通讯以获取最新更新。