【发布时间】:2020-06-14 04:44:23
【问题描述】:
我有一个脚本内的信号附加到一个节点:
Game.tscn/Game.cs
using Godot;
public class Game : Node2D
{
[Signal]
public delegate void AddPowerUp(Powerup powerup);
}
我尝试从另一个类发出信号:
ExtraBall.tscn/Powerup.cs
public override void _IntegrateForces(Physics2DDirectBodyState state)
{
EmitSignal("AddPowerUp", this);
}
然后在另一个场景中,Level.tscn,我实例化了 Game 和 ExtraBall。但是,当我尝试发出信号时出现错误。
E 0:00:05.828 emit_signal: Can't emit non-existing signal "AddPowerUp".
这是它在引擎中的样子:
游戏有信号,我附加到 Player 中的一个函数:
在关卡场景中,我实例化了 Game 和 ExtraBall:
ExtraBall 不应该能够知道“AddPowerUp”信号,因为它是在同一个 SceneTree 下实例化的吗?如果没有,我该如何发出在其他地方定义的信号?
【问题讨论】: