Skocz do zawartości
  • 0

Zmienny Runnable(), void run()


Pytanie

Witam. Mam takie coś:
 

Spoiler

	Bukkit.getScheduler().runTaskTimer(this, new Runnable() {
			@Override
			public void run() {
				setup1();
			}
		}, 40, 40);
	}

 

Jak zrobić ze co 2 sek przez 30 sek wywołuje się void setup1 a jeśli te 30 sek minie to wywołuje się co 2 sek przez kolejne 30 sek void setup2, i jeśli te 30 sek minie to leci od nowa czyli setup1 co 2 sek przez 30 sek następnie co 2 sek przez kolejne 30 sek void setup2, i tak w kółko. :) 

Odnośnik do komentarza
https://skript.pl/temat/19956-zmienny-runnable-void-run/
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 0
final int TPS = 20;
final int N_EXECUTIONS = 15;

Bukkit.getScheduler().runTaskTimer(this, new Runnable() {
	int timer;
	boolean setup2;

	@Override
	public void run() {
		if (setup2)
			setup2();
		else
			setup1();

		if (++timer >= N_EXECUTIONS) {
			timer = 0;
			setup2 = !setup2;
		}
	}
}, 0, TPS * 2);

Nie jest to najładniejszy kod, ale robi dokładnie to co chciałeś.

Edytowane przez konwboy
Odnośnik do komentarza
https://skript.pl/temat/19956-zmienny-runnable-void-run/#findComment-135899
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...