brak odrysowywania podczas thread.sleep

brak odrysowywania podczas thread.sleep
themarcq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 26
0

(j2me)mam w protected void paint:

Kopiuj
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:

Kopiuj
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?

snout
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
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?

themarcq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 26
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.