Evento indipendente dopo n secondi

di il
2 risposte

Evento indipendente dopo n secondi

Salve ragazzi, sto realizzando un giochino in Java e sono sui primi passi.

Ho un oggetto che fa cadere "nemici", e per adesso sono riuscito a impostarlo in modo tale che ad ogni pressione di un tasto mi crea nuovi nemici.

Vorrei però rendere la creazione di questi nemici indipendente, impostando che questo oggetto aspetti N secondi prima di creare nuovi nemici.

Inizialmente avevo pensato di creare un semplice contatore che incrementa una variabile int, ma è risultato troppo dispendioso.

Ho provato successivamente con le classi Timer e con Thread.sleep ed infine anche mediante l'uso di un while.

Il problema però è che quando imposto al suddetto oggetto di aspettare N secondi per creare mostri, allora tutto il gioco logicamente si blocca in attesa dell'evento.

A questo punto credo che l'unica soluzione possibile sia creare un Thread a parte che si occupi di questa cosa oppure sbaglio?

2 Risposte

  • Re: Evento indipendente dopo n secondi

    Ciao, ci fu una discussione simile qui
    Il mio consiglio è di
    predisponi un ciclo principale in cui gestirai il controllo dell'input dell'utente, il refresh video e, con degli stati, le varie fasi del gioco; questo ciclo deve essere temporizzato, ovvero essere eseguito ogni tot millisecondi.
    Gli N secondi di gestione dei "nemici" li ottieni aspettando N*t passate di ciclo, dove t è il numero di refresh al secondo.
  • Re: Evento indipendente dopo n secondi

    Grazie mille!

    Ho risolto con l'utilizzo di System.currentTimeMillis()
Devi accedere o registrarti per scrivere nel forum
2 risposte