虚幻引擎5 GAS开发俯视角RPG游戏 P07-04 输入配置数据资产
1.创建输入动作配置数据资产:
Source/CC_Aura/Public/Input/CC_InputConfig.h:
// 版权归陈超所有#pragma once#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "Engine/DataAsset.h"
#include "CC_InputConfig.generated.h"class UInputAction;USTRUCT(BlueprintType)
struct FInputActionConfig
{GENERATED_BODY()
public:UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, meta=(Categories = "InputTag"))FGameplayTag InputTag;UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)UInputAction* InputAction;
};/*** */
UCLASS()
class CC_AURA_API UCC_InputConfig : public UDataAsset
{GENERATED_BODY()public:UFUNCTION()UInputAction* FindInputActionByTag(const FGameplayTag& InputTag); protected:UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, meta=(Categories = "InputTag"))TArray<FInputActionConfig> InputActionConfigs;};
Source/CC_Aura/Private/Input/CC_InputConfig.cpp:
// 版权归陈超所有#include "Input/CC_InputConfig.h"UInputAction* UCC_InputConfig::FindInputActionByTag(const FGameplayTag& InputTag)
{for (const FInputActionConfig& InputActionConfig : InputActionConfigs){if (InputActionConfig.InputTag == InputTag && InputActionConfig.InputAction){return InputActionConfig.InputAction;}}return nullptr;
}
2.添加输入标签:
Source/CC_Aura/Public/CC_GameplayTags.h:
/*Input标签*/CC_AURA_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Input_Move)CC_AURA_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Input_LMB)CC_AURA_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Input_RMB)CC_AURA_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Input_1)CC_AURA_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Input_2)CC_AURA_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Input_3)CC_AURA_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Input_4)
Source/CC_Aura/Private/CC_GameplayTags.cpp:
/*Input标签*/CC_AURA_API UE_DEFINE_GAMEPLAY_TAG_COMMENT(Input_Move, "Input.Move","移动输入")CC_AURA_API UE_DEFINE_GAMEPLAY_TAG_COMMENT(Input_LMB, "Input.LMB","鼠标左键输入")CC_AURA_API UE_DEFINE_GAMEPLAY_TAG_COMMENT(Input_RMB, "Input.RMB","鼠标右键输入")CC_AURA_API UE_DEFINE_GAMEPLAY_TAG_COMMENT(Input_1, "Input.1","1键输入")CC_AURA_API UE_DEFINE_GAMEPLAY_TAG_COMMENT(Input_2, "Input.2","2键输入")CC_AURA_API UE_DEFINE_GAMEPLAY_TAG_COMMENT(Input_3, "Input.3","3键输入")CC_AURA_API UE_DEFINE_GAMEPLAY_TAG_COMMENT(Input_4, "Input.4","4键输入")3.蓝图创建输入动作,并添加到映射上下文:



4.创建蓝图输入配置数据资产

