C# prosty kod waitforsecons() unity 3D

0

Zacząłem z unity i wgl z C# i chciałem zrobic w kodzie tak aby pewna akcja wykonywała sie co 5 sekund napisałem wiec taką oto funkcje (bo zobaczylem ja w dokumentacji unity)

IEnumerator Example() {
czy=false;

	yield return new WaitForSeconds(2);
	AKCJA();
	czy=true;
	

}

i w void update() dałem taki kod:
if(czy==true)
{
Example();

	}

To nie jest dokładnie tak jak w dokumentacji ale to z dok. też jakos mi nie działało. Co jest problemem??
Generalnie jak zobic w C# tak abys cos sie wykonywało co kilka sekuind?

0

W c# można użyć klasy Timer znajdującej się w przestrzeni nazw System.Timers. Niestety nie jestem pewien czy funkcjonuje ona w Unity3d, a w szczególności .NET 2.0 Subset, które jest domyślnie używane w Unity. Lepszym rozwiązaniem jest użycie funkcji Update()

 
 void Update()
    {
        timer += Time.deltaTime;
        if (timer >= 5.0f)
        {
            Twojafunkcja();
            timer == 0;
        }
    }

zmienna timer jest prywatnym polem klasy typu float (może być double).

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