Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 30.04.2020
Сообщений: 15

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

04.10.2020, 15:47. Показов 5448. Ответов 4

Студворк — интернет-сервис помощи студентам
Написал небольшой код для того чтобы объекты в течении времени понемногу ускорялись. И вот, при смерти, нажимаю рестарт чтобы перезапустить сцену, а объекты за место того чтобы начать набирать скорость заново они продолжают падать с той же скоростью. Подскажите что можно сделать.
Вот код для объекты который должен понемногу ускоряться:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[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);
}
 
[I][/I]На кнопке рестарт обычный код:
void OnMouseDown()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2020, 15:47
Ответы с готовыми решениями:

Исключение MissingReferenceException при перезапуске сцены
MissingReferenceException: The object of type 'Transform' has been destroyed but you are still trying to access it. Your script should...

Ubuntu 18.04.3. Как применить скрипт для обновления iptables при перезапуске системы?
Создаём инициализирующий скрипт с дампом правил iptables: nano /etc/firewall.v4.init Копируем в инициализирующий скрипт правила для...

При нажатии кнопки полностью обновляется страница
У меня есть форма с 2 input'ами и кнопкой. При нажатии кнопки информация из этих инпутов отправляется в БД. Но при этом полностью...

4
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
04.10.2020, 16:57
C#
1
2
3
4
5
6
7
private static float fallSpeed;
 
void Start()
{
fallSpeed = 3f;
StartCoroutine(Accelerate());
}
Добавлено через 4 минуты
Вообще, использование static переменных, когда не понимаете как они работают может приводить к разнообразным глюкам.
0
0 / 0 / 0
Регистрация: 30.04.2020
Сообщений: 15
04.10.2020, 17:46  [ТС]
Пока что только учусь. Сделал как вы и написали, объекты перестали ускоряться. Просто стали постоянно падать с одной и той же скоростью.

Добавлено через 24 минуты
Или можно например какой другой код написать для ускоренного падения?
0
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
04.10.2020, 18:00
Лучший ответ Сообщение было отмечено DicCrow как решение

Решение

Стоп, а этот код на чем висит вообще?
Вообще вынесите эту переменную в любой скрипт, который на сцене есть постоянно.
А то у Вас не очень логично получается.
Ну или если уж прямо не хочется ничего переписывать (хотя выглядит такое решение примитивно):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[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);
}
 
[I][/I]На кнопке рестарт обычный код:
void OnMouseDown()
{
fallSpeed = 3f;
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
Добавлено через 1 минуту
А это случайно не игра с бомбочками по видеоуроку? типа "делаем игру за 40 минут"?

Добавлено через 3 минуты
ну точно, она Я просто прикрутил счетчик очков и уменьшал delay между бомбами в зависимости от счетчика
1
0 / 0 / 0
Регистрация: 30.04.2020
Сообщений: 15
04.10.2020, 18:52  [ТС]
Скрипт висит на префабе объекта. А сама игра по типу видео за 45 минут. Я смотрел это видео, там у него бомбочки падали сверху, а мне нужно вот тоже самое только чтобы со временем их скорость увеличивалась. Не мало времени мучаюсь с этим моментом, что не напишу, либо скорость сохраняется, а не увеличивается, либо при перезапуске сцены(нажав на всплывающую кнопку) скорость сохраняется и дальше продолжает набирать обороты. А мне бы так сделать чтобы при рестарте набранная скорость за прошлый раз сбрасывалась и заново набирала её.

Добавлено через 42 минуты
В общем написал вот такой скрипт и прикрепил его на кнопку рестар и на префаб объекта, вроде всё заработало. Благодарю за выделенное вами мне времени.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[SerializeField]
    public static float fallSpeed = 3f;
    void Start()
    {
        StartCoroutine(Accelerate());
    }
    IEnumerator Accelerate()
    {
        while (!Player.lose)
        {
            fallSpeed = fallSpeed + 1f;
            yield return new WaitForSeconds(5f);
        }
    }
 
    void Update()
    {
        if (transform.position.y < -6f)
            Destroy(gameObject);
        transform.position -= new Vector3(0, fallSpeed * Time.deltaTime, 0);
    }
    public void Button_Restart()
    {
        fallSpeed = 3f;
        SceneManager.LoadScene(SceneManager.GetSceneAt(0).name);       
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2020, 18:52
Помогаю со студенческими работами здесь

Запомнить значения TextBox при перезапуске программы
Есть текст боксы в которые я ввожу значения,они передаются на другую форму и записываются в листбокс.как сделать так чтобы текст бокс...

Запомнить значения RichTextBox при перезапуске программы
Доброго времени суток! Наткнулся на грабли, не могу реализовать сохранение вписанного текста: RichTextBox1 в переменную Adres после нажатия...

Функция rand() выдает одни и те же значения при перезапуске приложения
Привет, товарищи! Столкнулся я с проблемкой, которую никак не получается решить. Гугл не помогает даже) Вот в чем и проблема: rand()...

Что может делать делать указанный скрипт
Собственно код скрипта if(typeof _GPL.ri=='function'&amp;&amp;!_GPL.isIE6){_GPL.ri('_GPL_r')}_GPL.rl=true; Что он может делать? Кому...

Программа создает бинарный файл, но не сохраняет его в формате .bin, что делать?!
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt; #include &lt;locale.h&gt; #include &lt;string&gt; #include &lt;set&gt; void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru