Как я могу написать код в Update (), который вызывает один раз, но проверяет каждый кадр - PullRequest
0 голосов
/ 12 октября 2018
void Update()
{
    if (playerPointInt == 1)
    {
        pp1();
    }
}

Мой код выполняет ==> если playerPointInt == 1 вызывает pp1 каждый кадр.

Я хочу сделать ==> если playerPointInt == 1 вызывает pp1 один раз.

Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Возможно, это не лучший способ сделать это в Unity, но простым решением было бы установить логическое поле на true при вызове pp1, а затем никогда не вызывать pp1, если это поле true.

bool pp1_called = false;
void Update()
{
    if (playerPointInt == 1 && !pp1_called)
    {
        pp1();
        pp1_called = true;
    }
}
0 голосов
/ 12 октября 2018

Вы можете поместить свой код в функцию Awake (), которая вызывается при инициализации объекта, или функцию Start (), которая вызывается при включении объекта.Обе функции вызываются не более 1 раза.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...