flushGraphics - i tak zle i tak nie dobrze

0

mam gameCanvas z implements runnable i miedzy innymi:

    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

0

że co?

0

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

0

a co to jest flushGraphics?

0

funkcja w j2me odpowiedzialna za wyswietlenie wew. bufora graficznego

0

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

0

i tak jest, ale w gameCanvas musi byc jeszcze to

0

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

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().

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