В Unity есть две кнопки, которые устанавливают скорость игры. Есть переменная, в которой хранится значение скорости. Нужно после отключения паузы продолжить игру с выбранной скоростью.
Чтобы продолжить игру с выбранной скоростью после снятия паузы, вам нужно будет реализовать систему, которая будет сохранять значение скорости игры, а затем устанавливать её при отключении паузы. Ниже приведен пример того, как это можно сделать.
- Создайте переменную, которая будет хранить значение скорости игры.
- Реализуйте метод
SetTimeScale
, который будет устанавливать значениеTime.timeScale
. - В методе отключения паузы установите
Time.timeScale
в сохраненное значение скорости.
Вот пример кода:
using UnityEngine;
using UnityEngine.UI;
public class GameController : MonoBehaviour
{
public Button btnX1; // Кнопка для скорости 1x
public Button btnX10; // Кнопка для скорости 2x
public GameObject panelPause; // Панель паузы
private float timeScale = 1f; // Переменная для хранения значения скорости игры
private void Start()
{
btnX1.onClick.AddListener(() => SetTimeScale(1f));
btnX10.onClick.AddListener(() => SetTimeScale(2f));
}
// Метод для установки скорости игры
private void SetTimeScale(float scale)
{
timeScale = scale; // Сохраняем выбранную скорость
Time.timeScale = timeScale; // Устанавливаем скорость игры
}
// Метод для снятия паузы и продолжения игры
public void ResumeGame()
{
panelPause.SetActive(false); // Отключите панель паузы
Time.timeScale = timeScale; // Устанавливаем сохраненное значение скорости
}
// В случае необходимости, можете добавить метод для паузы
public void PauseGame()
{
Time.timeScale = 0f; // Устанавливаем паузу
panelPause.SetActive(true); // Включаем панель паузы
}
}
В данном примере:
- При нажатии на кнопки устанавливается значение переменной
timeScale
, которая будет отвечать за скорость игры. - Метод
ResumeGame()
отключает панель паузы и продолжает игру с сохраненной скоростью. - Метод
PauseGame()
ставит игру на паузу и отображает панель паузы.
Вы можете вызвать ResumeGame()
, когда пользователь решит продолжить после паузы.