2017-06-19 20 views
1

私はonclickedする機能をバインドしようとしています:なぜOnClicked関数から応答がありませんか?

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

私はChessPiece.cpp

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

でそれを定義ChessPiece.h

UFUNCTION() 
void OnClick(AActor* TouchedActor, FKey ButtonPressed); 

でのOnClickを宣言しました私はエディターで演奏していて、オブジェクトをクリックすると応答がありません。私はプレーヤーのコントローラクラスですべてのマウスイベントと機能が有効になっていることを確認しました。ある時点では機能していましたが、その後停止しています。エディタ、ゲームモードなど、オブジェクトの「クリック可能性」に影響を与える他の設定はありますか?

答えて

0

コンストラクタでバインドしないでください。あなたは完全に初期化されたオブジェクトを持っていないので意味がありません。 BeginPlay()メソッドをオーバーライドし、そこでそのバインディングを呼び出します。

関連する問題