Я делаю 2D-игру и рисую на поверхности внутри фрейма.Проблема в том, что я зацикливаюсь на фоне и рисую фоновое изображение (используя мозаичное изображение), вот результат:
Примечание. Я установил для кадра значение 640,480
Как вы видите, верхняя и левая стороны отстоят на несколько пикселей, я в основном волнуюсь за верхнюю часть.
Я использую этот код для инициализации фрейма:
frame = new Frame(_title);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.addMouseListener(new Mouse());
frame.addKeyListener(new Keyboard());
frame.setSize(new Dimension(width, height));
frame.setResizable(false);
frame.setBackground(Color.lightGray);
frame.setVisible(true);
frame.createBufferStrategy(2);
А вот как я рисую фон:
for(int x = 0; x < GameClient.width; x+= 32) {
for(int y= 0; y< GameClient.height; y+= 32) {
g.drawImage(floor, x , y, null);
}
}
Я бы подумал, что он будет работать нормально, но, очевидно, нет ..
Что такоеЯ делаю неправильно, или как я могу это исправить?
Спасибо.