Ablaufende Zeitleiste. Bildschirm schwarz

  • 2 Antworten
  • Letztes Antwortdatum
G

Geforcer

Neues Mitglied
0
Hallo Leute. versuche gerade eine Animierte Zeitleiste zu machen.

Das ganze läuft über die Screenrefresh methode. laut Debugger sind die Werte richtig nur bleibt der ganze Bildschirm Schwarz solange ich in der Schleife bin. danach stürzt es ab.

Wenn ich die Schleife auskommentiere und der currenttimeleft variable einen festen wert zuweise läuft alles wie geplant.

pxheight ist eine emtric variable über die gesamte höhe in px vom Bildschirm. mein FrameLayout bartime geht auch über die ganze höhe.

Alles ist in einer Activity geschrieben. Kann es sein dass ich meine "Game Engine" von der UI trennen muss? wenn ja wie mache ich das?

kann mir einer helfen?


Code:
@Override
    protected void onStart(){
        gameStart();
    }
    
   
     //Spielstart methode
    private void gameStart (){
        gamerunning = true;
        points = 0;
        round = 0;
        startround();
        
    }

    //next round
    private void startround() {
        round++;
        startTime = System.currentTimeMillis();
        int roundpoints = 0;
        settime = 60000;
        currenttime = 0;
        while (currenttime <= settime) {
            screenrefresh();
        }
        
        
        
        
    }
    
    private void screenrefresh() {
        //Point view refresh
    TextView points = (TextView)findViewById(R.id.textView1);
    points.setText(Integer.toString(this.points));
    
    //time refresh
    currenttime = (System.currentTimeMillis() - startTime) ;
    float currenttimeleft = settime - currenttime;
    
    //getheight time bar = pxheight
    double barpersecond = (pxheight / settime);
    
    // timebar refresh
    FrameLayout bartime = (FrameLayout)findViewById(R.id.timebar);
    LayoutParams time = bartime.getLayoutParams();
    time.height = (int) (barpersecond * currenttimeleft);
    bartime.setLayoutParams(time);
    }
 
Zuletzt bearbeitet:
ok ich probiers mal mit asyncTask danke
 
Zurück
Oben Unten