flushGraphics - i tak zle i tak nie dobrze

flushGraphics - i tak zle i tak nie dobrze
themarcq
  • Rejestracja:około 14 lat
  • Ostatnio:około 14 lat
  • Postów:26
0

mam gameCanvas z implements runnable i miedzy innymi:

Kopiuj
    public void paint(Graphics g){
    g.setColor(0,0,0);
    g.drawRect(0,0,getWidth(),getHeight());
    g.drawImage(s_bohater,x,y,0);
    this.flushGraphics();
    }

    public void run() {
        graj=true;
        while(graj==true){
            this.klawiatura();
            this.bohater();
            this.mobs();
            this.paint(g);
                
        } 

problem jest taki ze gdy nie ma this.flashGraphics obraz sie nie odswieża, lecz gdy jest - obraz jest bialy


gmclan.org - źródło mej wszelkiej wiedzy o programowaniu
edytowany 1x, ostatnio: themarcq
Kerai
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:London
0

że co?

themarcq
  • Rejestracja:około 14 lat
  • Ostatnio:około 14 lat
  • Postów:26
0

1.ocenzurowalo mi blad ortograficzny :/
2.gdy wpisany jest flushGraphics() obraz sie nie rysuje, a gdy go nie uzywam obraz jest nie odswiezany


gmclan.org - źródło mej wszelkiej wiedzy o programowaniu
Kerai
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:London
0

a co to jest flushGraphics?

themarcq
  • Rejestracja:około 14 lat
  • Ostatnio:około 14 lat
  • Postów:26
0

funkcja w j2me odpowiedzialna za wyswietlenie wew. bufora graficznego


gmclan.org - źródło mej wszelkiej wiedzy o programowaniu
Kerai
  • Rejestracja:ponad 16 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:London
0

nie powinno byc przypadkiem paint(this.getGraphics()); ?

0

i tak jest, ale w gameCanvas musi byc jeszcze to

NI
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 13 lat
0

a co masz w konstruktorze klasy dziedziczacej po Midlet albo w jej abstrakcyjnej metodzie start() ?

MA
  • Rejestracja:około 21 lat
  • Ostatnio:około 14 lat
0

Przy używaniu podwójnego buforowania raczej nie używa się metody paint().
Rysuje Ci białe tło, bo ta funkcja raczej się nie wykonuje. Spróbuj przenieść rysowanie do funkcji np. Rysuj().
Wywołaj ja w konstruktorze i zobaczysz, że zadziała. Oczywiście na końcu funkcji Rysuj() musi być flushGraphics().

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.