UE5/UE4 C++でゲームインスタンス(GameInstance)を継承した独自のクラスを作る(UGameInstance、UGameplayStatics::GetGameInstance)
C++でゲームインスタンス(GameInstance)を継承した独自のクラスを作る方法です。
公式ドキュメントはこちら。
・UGameInstance
https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Engine/UGameInstance/
C++で独自のゲームインスタンス(GameInstance)クラスを作成する場合は「UGameInstance」を継承します。
こんな感じですね。
この作成した独自のゲームインスタンス(GameInstance)クラスを取得するには
「UGameplayStatics::GetGameInstance」関数を使います。
「UGameplayStatics::GetGameInstance」関数は素の「UGameInstance」を取得する関数なので
独自のゲームインスタンス(GameInstance)クラスにキャストしてあげます。
ゲームを作る時には独自のクラスを作ることは結構必須だと思うので覚えておきたいですね。
公式ドキュメントはこちら。
・UGameInstance
https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Engine/UGameInstance/
C++で独自のゲームインスタンス(GameInstance)クラスを作成する場合は「UGameInstance」を継承します。
こんな感じですね。
#include "Engine/GameInstance.h"あとは基本的に「UGameInstance」に関するイベントを記述するだけなので難しいことはないのかなと思います。// UGameInstanceを継承した独自のゲームインスタンス(GameInstance)クラスを作成
UCLASS()
class UNewGameInstance: public UGameInstance
{GENERATED_BODY()public:// コンストラクタ
UNewGameInstance();};
この作成した独自のゲームインスタンス(GameInstance)クラスを取得するには
「UGameplayStatics::GetGameInstance」関数を使います。
「UGameplayStatics::GetGameInstance」関数は素の「UGameInstance」を取得する関数なので
独自のゲームインスタンス(GameInstance)クラスにキャストしてあげます。
こんな感じの記述になります。TObjectPtr< UNewGameInstance> aNewGameInstance = Cast< UNewGameInstance>(UGameplayStatics::GetGameInstance(this));
ゲームを作る時には独自のクラスを作ることは結構必須だと思うので覚えておきたいですね。
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑