広告あり

Unreal Engine コツコツ自習_EnhancedInputComponet->BindAction()

UEコツコツ自習シリーズ
スポンサーリンク

EnhancedInputComponet->BindAction()

UEで使うC++コードについて調べています。

今回は、「EnhancedInputComponet->BindAction()」です。

※作業環境:UEバージョン5.3.2

今回のドキュメント参照URL

上記が使えない場合はこちらからリンク先へ移動できます→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::」はトリガーイベントの種類を指定しています。

下の写真のように種類があります。

  • Canceledは、入力が中断された瞬間に処理を呼び出します。
  • Completedは、入力が終わった瞬間に処理を呼び出します。
  • Noneは、処理を呼び出しません。
  • Ongoingは、入力アクションが連続的に行われている間、処理を呼び出します。
  • Startedは、入力が開始された瞬間に処理を呼び出します。
  • Triggeredは、ボタンを押している間、連続して処理を呼び出します。

「this」は現在のオブジェクト(クラス)を指します。

バインドされた関数がこのクラス内で実行されることを示します。

「&APlayerCharacter::Move」はトリガーしたときに実行する関数になります。

作成例は、こんな感じ

void APlayerCharacter::Move(const FInputActionValue &Value)
{
    FVector2D MoveActionValue = Value.Get<FVector2D>();
	GEngine->AddOnScreenDebugMessage(1, 10.0f, FColor::White, MoveActionValue.ToString());
}

お好みにカスタマイズして、入力操作を作成することが出来ます。

他の記事を探す

他の記事も気になる方は、以下の記事の目次を確認ください。

タイトルとURLをコピーしました