2014-09-22 67 views
2

我想用Java制作一个2D游戏,它非常简单。问题是我在我的英雄身上得到了一个奇怪的矩形,因为我不知道如何忽略我绘制自己的图片中的空白区域。用java编写游戏图像

/// loading the image/// 
private ImageIcon x= new ImageIcon("path"); 
private Image hero=x.getImage(); 

//============= 

//=========drowing==== 


public void paint(Graphics g){ 

    Graphics2D g2d=(Graphics2D)g; 
    g2d.drawImage(background,0,0,null); 
    g2d.drawImage(hero,100,100,null); 

} 
+4

尝试保存图像与透明背景,而不是一个PNG文件白色背景。 – WOUNDEDStevenJones 2014-09-22 14:25:19

回答

3

这与Java没有任何关系。就像@WOUNDEDStevenJones已经提到的那样,您只需将图像保存为具有透明背景的PNG文件即可。

有很多方法可以做到这一点,谷歌是你的朋友。我个人使用GIMP,这里是一个相关的问题,解释如何做到这一点:https://graphicdesign.stackexchange.com/questions/5446/making-the-background-of-an-image-transparent-in-gimp

这里是直接GIMP教程:http://docs.gimp.org/en/gimp-using-web-transparency.html

0

您可以使用例如photoshop或gimp(免费),您可以在其中应用图层。你可以做一个透明的图层,并把你的英雄放到这一层。 如果你的英雄图片有背景颜色,那么你可以选择(在提到的程序中)只有你的英雄,没有背景,选择后可以删除背景。 希望这有助于。