Migotanie w grze snake.

0

Witam, mam problem z migotaniem w grze - snake. Używam podwójnego buforowania. Czy ktoś ma pomysł jak to naprawić ? Oto kod - http://4programmers.net/Pastebin/4166

0

Czy ktoś może wpadł na jakiś pomysł ? Goni mnie trochę czas i z tego powodu odświeżam, a sam nic nie mogę wymyślić.

0

a zakomentuj może tą linię:
g.clearRect(0, 0, BOX_WIDTH * GRID_WIDTH + 10, BOX_HEIGHT * GRID_HEIGHT + 20);
skoro i tak przykrywasz cały ekran gry tylnym buforem, to nie musisz czyścić ekranu

0

Po zakomentowaniu jest wszystko idealnie, tylko pozostaje ślad po wężu.

0

To wyczyść ten tylny bufor przed rysowaniem:

public void Draw(Graphics g)
{
    //g.clearRect(0, 0, BOX_WIDTH * GRID_WIDTH + 10, BOX_HEIGHT * GRID_HEIGHT + 20); to usuwamy
    //create a new image
    BufferedImage buffer = new BufferedImage(BOX_WIDTH * GRID_WIDTH + 10, BOX_HEIGHT * GRID_HEIGHT + 20, BufferedImage.TYPE_INT_ARGB);
    Graphics bufferGraphics = buffer.getGraphics();
    //zamalowujemy na czarno tylny bufor
    bufferGraphics.clearRect(0, 0, BOX_WIDTH * GRID_WIDTH + 10, BOX_HEIGHT * GRID_HEIGHT + 20);
    //rysujemy
    DrawFruit(bufferGraphics);
    DrawGrid(bufferGraphics);
    DrawSnake(bufferGraphics);
    DrawScore(bufferGraphics);
    //flip
    g.drawImage(buffer, 0, 0, BOX_WIDTH * GRID_WIDTH + 10,  BOX_HEIGHT * GRID_HEIGHT + 20, this);
}
0

Śmiga, dzięki za pomoc.

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