在我的Java游戏中,我有一个玩家类,它有一个从Sprite表分配给它的BufferedImage。我刚刚添加了KeyAdapters和KeyListeners,它们只是在屏幕上移动播放器。但是,当我这样做时,它留下了一个形象的痕迹。带钥匙的移动物体留下了痕迹
private void render() {
BufferStrategy bs = this.getBufferStrategy();
if(bs == null) {
createBufferStrategy(3);
return;
}
Graphics g = bs.getDrawGraphics();
p.render(g); //p is the player object
g.dispose();
bs.show();
}
public static void main(String[] args) {
Game game = new Game();
game.setPreferredSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
game.setMinimumSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
game.setMaximumSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
JFrame frame = new JFrame(game.TITLE);
frame.add(game);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
game.start();
}
我将有一个形象,但我需要更多的声誉。 :(对不起, – sparklyllama
发布一个链接,有人会让它成为一个图像 – Maroun
有点难以理解,没有代码就是怎么回事,你觉得呢?根据我的经验,在阅读头脑或猜测代码时没有显示,这应该是非常明显的,你是否重写'paintComponent(...)'?如果是,你是否调用super的方法? –