当前位置: 首页 > news >正文

无忧建站网络工程师是干嘛的

无忧建站,网络工程师是干嘛的,网站每年要多少钱,sem优化方法文章目录 信号是什么连接信号使用编辑器连接信号使用代码连接信号Lambda 自定义信号声明信号发射信号带参数的信号 其他文章 信号是什么 在Godot游戏引擎中#xff0c;信号是一种用于对象之间通信的重要机制。它允许一个对象发出信号#xff0c;而其他对象可以连接到这个信号… 文章目录 信号是什么连接信号使用编辑器连接信号使用代码连接信号Lambda 自定义信号声明信号发射信号带参数的信号 其他文章 信号是什么 在Godot游戏引擎中信号是一种用于对象之间通信的重要机制。它允许一个对象发出信号而其他对象可以连接到这个信号并执行相应的操作。这样可以轻松实现解耦和灵活的对象通信。 连接信号 使用编辑器连接信号 在Godot编辑器中可以通过节点面板来连接信号具体步骤如下。 在编辑器中选择发送信号的节点。在节点属性面板中找到发送信号的信号名称点击右下角的“连接…”按钮。 在连接对话框中选择要接收信号的节点和设定接收方法的方法名。编辑器会自动生成回调方法的命名一般为_on_节点名_信号名。如果使用C#编辑器不会自动生成该方法需要手动编写回调方法。完成后点击“连接”按钮完成信号连接如下图所示。 这种方法是在编辑器中完成信号连接并且可以通过可视化界面直观地完成。 注意你在程序中的接收方法方法名要与编辑器中设置的方法名完全一致即上图中画红色方框的区域。 使用代码连接信号 在对象脚本中我们可以使用代码连接到一个信号并实现相应的操作。 public override void _Ready() {// 连接到信号var timer GetNodeTimer(Timer);timer.Timeout OnTimerTimeout; } private void OnTimerTimeout() { }当Timer对象发出Timeout信号时该脚本挂载的对象会接收到信号并调用OnTimerTimeout()方法来执行相关操作。 这种方法通过代码进行信号连接可以更加灵活地处理信号并进行相应的逻辑操作。 Lambda 连接信号时我们还可以使用Lambda表达式来处理信号使代码更加简洁和易读。下面我们就用一个具体的例子来学习一下。 首先创建一个Timer节点。并将其Autostart启动。 然后我们编写如下脚本 using Godot;public partial class LearnCSDN : Node2D {private Timer timer;// Called when the node enters the scene tree for the first time.public override void _Ready(){timer GetNodeTimer(Timer);timer.Timeout() {GD.Print(Timeout);// 当计时器发出 timeout 信号时会执行这个Lambda表达式// 在这里编写处理代码};} } 在上面的代码中我们在_Ready方法获取了场景中名为Timer的子节点并将其赋值给timer成员变量。 然后我们使用操作符与Lambda表达式将计时器的Timeout事件与一个匿名方法绑定在一起。在这个匿名方法中我们使用GD.Print打印了Timeout信息表示计时器超时时会执行这段代码。 现在运行场景会发现每过一秒我们的输出窗口都会有Timeout的消息传出如下图所示。 自定义信号 声明信号 我们可以自定义信号而不是使用Godot内置的信号使用自定义的信号要在脚本的类中编写可以在类的成员变量区域使用signal特性来声明信号。在声明信号时需要注意信号命名的要求结尾需要以EventHandler为后缀。代码如下所示。 using Godot;public partial class LearnCSDN : Node2D {// 声明信号[Signal]public delegate void HealthDepletedEventHandler(); } 通过上述代码我们声明了一个名为HealthDepleted的信号。 注意信号名的末尾必须以EventHandler结尾。这是一种命名约定有助于标识信号与其他方法的区别。 在声明完信号后我们需要在Godot编辑器中对脚本进行编译Build以便编辑器的节点选项卡中能够显示该信号。编译之后我们可以像连接其他信号一样将该信号连接到其他节点或方法。 如图所示在Build之后节点中出现了我们刚刚声明的信号。 自定义信号还可以包含参数以在发出信号时传递相关信息。 发射信号 在某个需要触发信号的地方通过调用EmitSignal方法来发出信号并指定要发出的信号名称和相关参数。 public void BeHit() {// 发出信号EmitSignal(nameof(Hit)); }带参数的信号 除了简单的无参数信号信号还可以携带参数来传递更多信息。在信号的声明中可以定义参数的类型和名称。 using Godot; using System;public partial class SignalTest : Node2D {// 声明一个带有参数的信号[Signal]public delegate void MySignalEventHandler(int value, string message);public void SayHello(){// 发出带有参数的信号EmitSignal(nameof(MySignal), 42, Hello, World!);} } 当发送信号时可以传递相应的参数。连接到信号的其他对象可以接收到这些参数。 其他文章 Godot配置C#语言编写脚本使用VSCode作为外部编辑器 C#的属性讲解
http://www.hkea.cn/news/14257677/

相关文章:

  • 优秀的网站建设推荐超炫的网站模板
  • 安徽省建设厅网站打不开宽带公司排名
  • 课程网站建设的步骤义乌网页设计公司
  • 广东深圳建设工程信息网站wordpress主题创建后门
  • 可信网站查询官网wordpress后台文章自定义字段面板
  • 嘉兴网站建设网址中国建筑官网一测
  • 华企立方网站linux 网站服务器搭建
  • vps 网站 需要绑定域名吗计算机一级考试网站怎么做
  • 装修网站制作seo云优化软件
  • 设计师常上的网站建立网站的条件
  • 天津北京网站建设公司宁波seo教程行业推广
  • 专做企业的p2p网站wordpress 顶部图片
  • 上海seo推广营销型企业网站优化的作用
  • 网站竞价360度实景地图下载
  • 江门网站建设哪家快购物商城html网站代码
  • 香奈儿网站建设wordpress头像不显示
  • 互联网技术的概念seo查询爱站网
  • 网站自动售卡怎么做建设官方网站公司
  • 东莞专业网站设计建站公司免费网站入口网站免费进
  • 公司网站设计与实现的项目建议书电商网站开发的代价
  • asp.net电子商务网站前台模板昌大建设土地建设
  • 用html编写淘宝网站怎么做怎样网站建设与管理
  • 企业网站建设找哪家做微信的网站叫什么名字
  • 长沙网站建设qq交流群做论坛app网站有哪些
  • 微网站矩阵怎么做网站地图怎么做XML
  • 培训方案网站建设wordpress页面无法编辑
  • 正规绍兴网站建设公司五屏网站建设公司
  • 网站做外链推广的常用方法外包小程序开发技巧
  • 怎么向百度提交网站发帖推广
  • 深圳服装网站建设制作开发淮北招聘网