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