1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
public class GameLoop extends Thread
{
private final static int FRAMES_PER_SECOND = 30 ;
public GameContent view;
private boolean running = false;
private long timer ;
private int timeTip ;
private Canvas c ;
private long lastTime;
public GameLoop(GameContent viewT)
{
view = null ;
view = viewT;
timer = 0 ;
timeTip = 0 ;
c = null ;
}
public void setRunning(boolean run)
{
running = run;
}
@Override
public void run()
{
while (running)
{
timeTip = 0 ;
long currentTime = System.nanoTime();
timer += currentTime ;
if ( timer >= 100000000.0 )
{
timeTip = 2 ;
timer = 0 ;
}
float seconds = (float) (( currentTime - this.lastTime ) / 1000000000.0);
this.lastTime = currentTime ;
c = view.getHolder().lockCanvas();
//même avec rien d'affiché, ca plante a la sortie de la sous-activité.
view.getHolder().unlockCanvasAndPost(c);
}
}
} |
Partager