Cómo rastrear el tiempo en Libgdx (Android)

Estoy desarrollando un juego en el que quiero que el usuario obtenga bonos cada 70 segundos. Aquí está mi código para rastrear el tiempo, pero no puedo obtener la solución. Soy nuevo en Libgdx, por favor, ayúdame con esto, estoy rascando mi dirígete a los últimos 4 días para esto .. 🙁

long gotime; long targettime; float timeleft; 

/ ——————- En mi función de render ——— /

 gotime=(long) Gdx.graphics.getDeltaTime(); gotime=System.currentTimeMillis(); targettime=gotime+70; if(timeleft>0) { timeleft=70 - (gotime - Gdx.graphics.getDeltaTime()) / 1000;//targettime-gotime; System.out.println("------------"+timeleft); } 

La función de renderizado de la pantalla (delta flotante) le da la cantidad de tiempo que ha transcurrido desde la última llamada a render (..), en milisegundos, como float.

Por lo tanto, un temporizador sería el siguiente:

 public class GameScreen implements Screen { private float bonusTimer; public GameScreen() { bonusTimer = 70f; } @Override public void render(float delta) { for(float iter = 0; iter < delta; iter += 0.125f) { float iterNext = iter + 0.125f; float currentDelta; if(iterNext > delta) { currentDelta = delta - iter; } else { currentDelta = iterNext - iter; } bonusTimer -= currentDelta; if(bonusTimer <= 0) { bonus(); bonusTimer += 70f; } ... } } ... } 

Lo que desearía hacer es establecer una instancia de GameScreen para que sea la pantalla activa en el descendiente del juego, su clase principal. Mire aquí para más información: https://github.com/libgdx/libgdx/wiki/Extending-the-simple-game

Ajuste la lógica según sea necesario (por ejemplo, tener su propio GameModel que se reinicia al inicio del juego).