我正在尝试在我的游戏中使用精灵表并且我希望背景是透明的,我如何使用 swing 和/或 awt 来实现它?
问问题
88 次
3 回答
2
看看
基于 JXLayer (Java6) 的JLayer (Java7 )
通过使用设置透明度
AlphaComposite
于 2012-09-12T08:50:53.847 回答
1
您最好的选择是使用已经支持背景透明度的格式创建工作表,例如 PNG 32 位。
半透明度和透明度选项只能更改图像的整个透明通道,不能根据颜色对单个位起作用。
于 2012-09-12T09:00:30.927 回答
1
扩展 mKorbel 使用 的建议AlphaComposite
,您不能使用模式绘画AlphaComposite.Clear
,但您可以清除 a 的背景BufferedImage
。例如,
Graphics2D dstG = dstImage.createGraphics();
dstG.setComposite(AlphaComposite.Clear);
dstG.fillRect(0, 0, WIDTH, HEIGHT);
随后以不同的模式绘制将使未绘制的像素保持透明。
更多细节可以在这个答案中找到。
于 2012-09-12T16:42:13.523 回答