好吧,我的游戏引擎运行顺畅,在所有机器上都能完美运行!在继续向引擎添加功能之前,我想增强引擎的图形功能。我关注的是褪色和混合图像。我需要一些平滑过渡,所以不使用像OpenGL这样的第三方库,在绘制图形对象时如何对图像应用不透明度?
感谢任何回复:D
答案 0 :(得分:1)
也许使用AlphaComposite可能是您正在寻找的东西?
Image image = new Image(...);
float alpha = 0.5;
@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D)g;
AlphaComposite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
g2d.setComposite(composite);
g2d.drawImage(image, 0, 0, null);
}
您可以将alpha设置为您想要的任何透明度级别(介于0.0和1.0之间)。在这种情况下,您可能希望使用AlphaComposite.SRC_OVER来覆盖您的透明图像并在其后面查看,除非您想要其他内容(如果是这样,您可以轻松查看所有可用的常量及其解释第一个链接提供)。