brak odrysowywania podczas thread.sleep

0

(j2me)mam w protected void paint:

else if(previousy>y){
              for(int i=y*32;i<previousy*32;i++){
            g.drawImage(tlo,0-y,0-x,0);
            manager.paint(g, -(i-polx+rozmiar/2), -(x*32-poly+rozmiar/2));
            pauza(50);
              }
            }

a w pauza:

public void pauza(int time){
        try {
            Thread.sleep(time);
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        }
    }

i problem jest taki ze dopiero po 1600ms obraz sie odswieza zamiast wytworzyc animacje, czemu?

0

Mam rozumieć, że program działa w następujący sposób:

  1. paint
  2. sleep
  3. paint
    ....
    i tak w kółko?

trochę słaby system do wyświetlania zdjęć tworzących animację. Jest klasa Timer, która co n ms wywołuje podpiętego pod nią słuchacz.
Nie wiem czy masz to w innej części kodu, ale może to być związane z wczytywanie plików.
Użyłeś MediaTracker?

0

w tym nie ma animacji, to powoduje przesuniecie obrazka o 32px w ustalonym tempie

Dobrze, rozwiazalem problem, przeszedlem z Canvas na GameCanvas i smiga

1 użytkowników online, w tym zalogowanych: 0, gości: 1