EnhancedInputComponet->BindAction()
UEで使うC++コードについて調べています。
今回は、「EnhancedInputComponet->BindAction()」です。
※作業環境:UEバージョン5.3.2
今回のドキュメント参照URL
dev.epicgames.com
Just a moment...
上記が使えない場合はこちらからリンク先へ移動できます→UEドキュメントサイトへ
・・・自習中・・・
// 例
#include "EnhancedInputComponent.h"
#include "EnhancedInputSubsystems.h"
#include "Components/InputComponent.h"
#include "InputActionValue.h"
#include "GameFramework/Controller.h"
EnhancedInputComponet->BindAction(MoveAction, ETriggerEvent::Triggered, this, &APlayerCharacter::Move);
「EnhancedInputComponet->BindAction()」で入力アクションと特定の関数を関連付けます。
要するに、入力アクション実行時に特定の関数を実行する感じです。
Enhanced Inputについては以下の記事で紹介しています。
「MoveAction」は「UInputAction」型の変数で、入力アクションを割り当てています。
変数の作成例は、こんな感じ
UPROPERTY(EditAnywhere, BlueprintReadOnly)
UInputAction* MoveAction;
「Input Action」については、以下の記事でで紹介しています。
「ETriggerEvent::」はトリガーイベントの種類を指定しています。
下の写真のように種類があります。
「this」は現在のオブジェクト(クラス)を指します。
バインドされた関数がこのクラス内で実行されることを示します。
「&APlayerCharacter::Move」はトリガーしたときに実行する関数になります。
作成例は、こんな感じ
void APlayerCharacter::Move(const FInputActionValue &Value)
{
FVector2D MoveActionValue = Value.Get<FVector2D>();
GEngine->AddOnScreenDebugMessage(1, 10.0f, FColor::White, MoveActionValue.ToString());
}
お好みにカスタマイズして、入力操作を作成することが出来ます。
他の記事を探す
他の記事も気になる方は、以下の記事の目次を確認ください。