UE4 全局数据(可变和不可变)

1.建立全局数据的访问(Game Singleton Class)(不变)

https://wiki.unrealengine.com/Global_Data_Access,_Data_Storage_Class_Accessible_From_Any_CPP_or_BP_Class_During_Runtime   

 

Game Singleton Class

* 继承UObject,不能存放组件,而且运行中不可改变变量值;

*Project Settings->Engine->General

4.9 update: This is hidden, use the eye icon -> show advanced settings to see it!

 

2.在继承BlueprintFunctionLiabraryC++里建立全部访问的变量和方法。(蓝图创建的不能创建静态成员变量)(可变)

 

3.GameInstance(可变)

https://wiki.unrealengine.com/Game_Instance,_Custom_Game_Instance_For_Inter-Level_Persistent_Data_Storage    //C++存储

https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UGameInstance/index.html   //C++API

 

示例:

UMySaveGame*LoadGameInstance=Cast<UMySaveGame>(UGameplayStatics::CreateSaveGameObject(UMySaveGame::StaticClass()));

LoadGameInstance=Cast<UMySaveGame>(UGameplayStatics::LoadGameFromSlot(LoadGameInstance->SaveSlotName, LoadGameInstance->UserIndex));

FString PlayerNameToDisplay = LoadGameInstance->PlayerName;

if (GEngine){

GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Yellow, PlayerNameToDisplay);

}

猜你喜欢

转载自blog.csdn.net/qq_35760525/article/details/76461302