为什么我没有收到 OnClicked 函数的响应?

Why am I getting no response from OnClicked function?

我正在尝试将函数绑定到 onclicked:

OnClicked.AddDynamic(this, &AChessPiece::OnClick); // <- In AChessPiece's constructor

我已经在 ChessPiece.h

中声明了 OnClick
UFUNCTION()
void OnClick(AActor* TouchedActor, FKey ButtonPressed);

在 ChessPiece.cpp

中定义
void AChessPiece::OnClick(AActor* TouchedActor, FKey ButtonPressed)
{
    UE_LOG(LogTemp, Warning, TEXT("Clicked"));
}

当我在编辑器中播放并点击对象时,我没有任何反应。我已确保在播放器控制器 class 中启用了所有鼠标事件和功能。在某一时刻它正在工作,但后来停止了。编辑器、游戏模式等是否有其他设置影响对象的"Click-ability"?

不要在构造函数中绑定它。你没有完全初始化的对象,所以它没有意义。覆盖 BeginPlay() 方法并在那里调用该绑定。