@DickCrow

При перезапуске сцены, скрипт сохраняет прошлые значения, а не обновляется полностью. Что делать?

Написал небольшой код для того чтобы объекты в течении времени понемногу ускорялись. И вот, при смерти, нажимаю рестарт чтобы перезапустить сцену, а объекты за место того чтобы начать набирать скорость заново они продолжают падать с той же скоростью. Подскажите что можно сделать.
Вот код для объекты который должен понемногу ускоряться:
[SerializeField]
private static float fallSpeed = 3f;

void Start()
{
StartCoroutine(Accelerate());
}
IEnumerator Accelerate()
{
while (true)
{
fallSpeed = fallSpeed + 0.01f;
yield return new WaitForSeconds(20f);
}
}
void Update()
{
if (transform.position.y < -6f)
Destroy(gameObject);

transform.position -= new Vector3(0, fallSpeed * Time.deltaTime, 0);
}

На кнопке рестарт обычный код:
void OnMouseDown()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
private static float fallSpeed = 3f;

Потому что static
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы