[C++] Comment créer un système de sauvegarde dans Unreal Engine
Vous venez de terminer les mécaniques principales de votre jeu développé sur Unreal Engine 5, et maintenant vous vous demandez comment mettre en place le système de sauvegarde.
En C++, il existe une classe appelée USaveGame
qui facilite cette tâche. Évidemment, il est possible de créer la même chose en Blueprint, mais aujourd’hui nous n’analyserons que la partie en C++.
Voici un guide sur la façon de créer un système de sauvegarde sur Unreal Engine en C++ :
- Créez une classe C++ pour gérer la sauvegarde. Vous pouvez le faire en cliquant sur “Add New” dans l’espace dédié au code source d’Unreal Engine, puis en sélectionnant “Classe C++” et “Créer une classe”.
- Dans votre classe C++, créez des fonctions pour enregistrer et charger des données de jeu. Par exemple, vous pouvez créer une fonction “
SaveGame
” pour enregistrer les données du jeu dans un fichier et une fonction “LoadGame
” pour charger les données enregistrées. - Utilisez la classe Unreal Engine “
UGameplayStatics
” pour enregistrer et charger des données. Par exemple, vous pouvez utiliser la fonction “SaveGameToSlot
” pour enregistrer les données du jeu dans un fichier et la fonction “LoadGameFromSlot
” pour charger les données enregistrées. - Vous pouvez utiliser la classe Unreal Engine “
USaveGame
” pour définir la structure des données que vous souhaitez enregistrer. Par exemple, vous pouvez créer une classe “MySaveGame
” qui contient toutes les informations du jeu que vous souhaitez sauvegarder. - Lorsque le jeu démarre, il crée une instance de la classe “
MySaveGame
” et charge les données de sauvegarde à partir du fichier. Vous pouvez ensuite utiliser ces données pour réinitialiser l’état du jeu.
Voici un exemple de code pour enregistrer et charger les données du jeu :
// Définition de la classe MySaveGame
UCLASS()
class USaveGameExample : public USaveGame
{
GENERATED_BODY()
public:
UPROPERTY(VisibleAnywhere, Category = Basic)
FString PlayerName;
UPROPERTY(VisibleAnywhere, Category = Basic)
int32 PlayerScore;
};
// Fonction pour sauvegarder le jeu
void SaveGameExample()
{
USaveGameExample* SaveGameInstance = Cast<USaveGameExample>(UGameplayStatics::CreateSaveGameObject(USaveGameExample::StaticClass()));
SaveGameInstance->PlayerName = "Player";
SaveGameInstance->PlayerScore = 1000;
UGameplayStatics::SaveGameToSlot(SaveGameInstance, TEXT("MySaveGame"), 0);
}
// FFonction pour charger le jeu
void LoadGameExample()
{
USaveGameExample* SaveGameInstance = Cast<USaveGameExample>(UGameplayStatics::LoadGameFromSlot(TEXT("MySaveGame"), 0));
if (SaveGameInstance != nullptr)
{
FString PlayerName = SaveGameInstance->PlayerName;
int32 PlayerScore = SaveGameInstance->PlayerScore;
}
}
Ceci est juste un exemple de la façon de créer un système de sauvegarde sur Unreal Engine en C++. Vous pouvez personnaliser le code en fonction de vos besoins spécifiques.
Formations de Develop4fun
- Formation WordPress : le cours complet
- Parcours pour devenir un programmeur web
- Créez vos jeux avec UNITY3D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à créer des jeux 2D facilement avec LUA et LÖVE 2D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à programmer en C#
- Apprenez à programmer en C++