2017-10-20 90 views
0

我试图做一个2048的游戏使用java,所以测试我会让图片移动,当我按空间,但在那里之前留在那里的图像。我想要如何让图像在没有制作一百万张图像的情况下被移除。如何移动屏幕上没有其他图片的东西

public void drawTile(Graphics g) 
{ 
    BufferedImage img = Textures.getImage(new File("src//res//" + 
    getNumber() + " 2048.png")); 
    if(isDraw()) 
    { 
    g.drawImage(img, getX(), getY(), null); 
    setDraw(false); 
    Handler.removeTile(new Tiles(getNumber(), getX(), getY(), false)); 
    } 
} 

这是我用来制作拼贴和在屏幕上显示它们的代码。

+0

您可能必须清除画布并在任何更改或重新绘制(纯色?)图像先前的区域时重新绘制所有图块。 – ryachza

回答

0

在你的方法的paintComponent(图形G)

必须调用super.paintComponent方法(g)作为第一线的原因JPanels做清洁屏幕或拨打

g.setColor(Colors.BLACK); // or your background 
g.fillRect(0, 0, getWidth(), getHeight()); 

二:

BufferedImage img = Textures.getImage(new File("src//res//" + getNumber() + " 2048.png")) 

将此行移至对象构造函数中,可以重复使用相同的图像,而不是一直重新加载它。