如何在Libgdx中追踪时间(android)

我正在开发一个游戏,我希望用户每70秒收集一次奖金..在这里是我的代码来跟踪时间,但我无法得到解决scheme..我是新的Libgdx请帮我这个我抓我的过去4天为此..头:(

long gotime; long targettime; float timeleft; 

/ ——————-在我的渲染function——— /

 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); } 

屏幕渲染(float delta)函数为您提供自上次渲染(..)调用以来以毫秒为单位传递的时间量。

因此,一个计时器将只是以下内容:

 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; } ... } } ... } 

你想要做的就是将这个GameScreen的一个实例设置为游戏后代(你的核心类)中的活动屏幕。 在这里寻找更多信息: https : //github.com/libgdx/libgdx/wiki/Extending-the-simple-game

根据需要调整逻辑(例如,拥有自己的GameModel,在游戏开始时重置自身)。