为什么我没有收到 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()
方法并在那里调用该绑定。
我正在尝试将函数绑定到 onclicked:
OnClicked.AddDynamic(this, &AChessPiece::OnClick); // <- In AChessPiece's constructor
我已经在 ChessPiece.h
中声明了 OnClickUFUNCTION()
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()
方法并在那里调用该绑定。