返回介绍

信号

发布于 2024-01-08 20:55:53 字数 3669 浏览 0 评论 0 收藏 0

信号这个东西我相信大家已经能够熟练运用了,但我们一直都在使用 Godot 节点给我们提供的信号。现在我们要定义我们自己的信号了。

信号类似属性和方法,也属于类成员,在脚本中使用 signal 关键字定义信号,具体格式和定义方法差不多:

signal <信号名>([参数列表])

例如我们给手机类定义一个 开机完成 方法:

signal 开机完成()

然后把手机脚本放到节点上,就能在这个节点的列表中看到这个信号了:

开机完成 信号

触发信号

信号需要手动触发,使用 emit 方法:

func 开机():
    print("加载中...")
    已经开机 = true
    print("开机完成")
    开机完成.emit()

带参数的信号

例如咱们再做一个发送短信的信号:

signal 发送短信完成(目标号码:String, 短信内容:String)

func 发短信(电话号码:String, 短信内容:String):
    if 已经开机:
        print("给 " + 电话号码 + " 发信息,内容如下:" + 短信内容)
        发送短信完成.emit(电话号码, 短信内容)

[!note] 不可滥用信号

信号可以向外界反应自身的状态,但这不是节点之间的唯一通信途径,别忘了我们可以直接使用 <节点变量>.属性或方法 这种形式修改其他节点的属性或是调用其他节点的方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文