Зберегти та завантажити логіку для Unity

Ознайомтеся з кроками, щоб інтегрувати логіку збереження та завантаження у ваші Unity ігри, безперебійно зберігаючи прогрес гравця та основні стани гри. Давайте зануримося!

Крок 1: Створіть проект Unity

Якщо ви ще цього не зробили, почніть із відкриття Unity і створення нового проекту. Переконайтеся, що у вас встановлено необхідні ресурси для вибраного середовища розробки.

Крок 2: Дизайн елементів гри

Створіть елементи гри та визначте, які дані потрібно зберегти та завантажити. Це може включати позиції, рахунки або будь-яку іншу відповідну інформацію.

Крок 3: Напишіть Save Logic

Створіть новий скрипт і в ньому реалізуйте логіку для збереження відповідних даних гри. Unity надає PlayerPrefs або інші методи серіалізації для цієї мети. Нижче наведено базовий приклад:

'SaveLoadManager.cs'

using UnityEngine;

public class SaveLoadManager : MonoBehaviour
{
    private float playerScore;

    public void SaveGame()
    {
        // Save the player's score to PlayerPrefs
        PlayerPrefs.SetFloat("PlayerScore", playerScore);
        PlayerPrefs.Save(); // It's important to call Save after setting PlayerPrefs values
        Debug.Log("Game saved. Player's score: " + playerScore);
    }
}

Крок 4: Напишіть логіку завантаження

Розширте сценарій, включивши логіку завантаження збережених даних. Це може передбачати читання з PlayerPrefs або десеріалізацію даних із файлу.

'SaveLoadManager.cs'

using UnityEngine;

public class SaveLoadManager : MonoBehaviour
{
    private float playerScore;

    void Start()
    {
        // Load the player's score from PlayerPrefs when the game starts
        LoadGame();
    }

    public void SaveGame()
    {
        // Save the player's score to PlayerPrefs
        PlayerPrefs.SetFloat("PlayerScore", playerScore);
        PlayerPrefs.Save(); // It's important to call Save after setting PlayerPrefs values
        Debug.Log("Game saved. Player's score: " + playerScore);
    }

    public void LoadGame()
    {
        // Load the player's score from PlayerPrefs
        playerScore = PlayerPrefs.GetFloat("PlayerScore", 0f);
        Debug.Log("Game loaded. Player's score: " + playerScore);
    }
}

Крок 5: Додайте сценарій

Прикріпіть сценарій SaveLoadManager до відповідного ігрового об’єкта у вашій сцені Unity.

Крок 6. Застосуйте тригери збереження та завантаження

Визначте тригери у своїй грі, як-от певні події чи кнопки, які викликають методи «SaveGame» і 'LoadGame' зі сценарію 'SaveLoadManager'.

Крок 7: Перевірте збереження та завантаження

Запустіть вашу гру та протестуйте функцію збереження та завантаження. Переконайтеся, що дані збережено та завантажено правильно, дозволяючи гравцям відновити свій прогрес.

Якщо ви шукаєте повну систему серіалізації збереження/завантаження для Unity, позначте Easy Save.

Рекомендовані статті
Створення інвентарю та система створення предметів в Unity
Створення предметів колекціонування та посилень в Unity
Як зробити так, щоб об’єкт слідував за курсором миші в Unity
Створення ефекту Bullet Time в Unity
Створення інтерактивних об’єктів в Unity
Реалізація кінетичних взаємодій в єдності
Система «вибери та відпусти» без інвентарю в Unity