Jak sprawić, aby skrypt czekał w Unity

0

Witam!
Jak sprawić, aby kod czekał w Unity? tak jak Sleep() w C++? Nie chodzi mi o:

yield return new WaiterForSecond(1) //np:1

ponieważ do jego użycia potrzeba specjalnego "voida".
Ja potrzebuje "czekaj", ale w zakładce:

Void Update()
{

}

Jest wgl coś takiego?

2

To raczej tutaj: https://4programmers.net/Forum/Gamedev

Poza tym brzmi jak XY problem

0

@stivens: jest w gamedev i to nie jest xy problem. To Unity silnik gier. Chodzi o kod w C#.

1

to nie jest xy problem

To zacznij od napisania co chcesz osiagnac a nie w jaki sposob

cc @Spine

2
  1. W Update() możesz sobie zaimplementować timer.
float timer = 0.0f;

void Update()
{
  if (timer > 1.0f) // jeśli odczekano sekundę
  {
    // rób coś
    
    enabled = false; // wyłączamy skrypt, żeby Update się już nie wykonywał
  }
  else
  {
    timer += Time.deltaTime; // odmierzamy czas
  }
}
  1. Jeśli nie planujesz wyłączać obiektu, bądź skryptu (Unity nie lubi tego w czasie działania Coroutine), to możesz zaimplementować metodę IEnumerator Start(), zamiast void Start(). Wtedy nie musisz używać StartCoroutine(). Start() wtedy jest Coroutine uruchamianą automatycznie i możesz wewnątrz metody Start używać yield return new WaitForSecond(1);.
0

@stivens: ok, sorry

1 użytkowników online, w tym zalogowanych: 0, gości: 1