有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使从COLOR类获取的HSB颜色变成半透明(半透明)?

因此,我制作了一个健康棒,根据个人的健康状况改变颜色。但我想让玩家在健康栏下行走时,它会变成半透明的,我想知道如果健康栏是HSB颜色的,我该怎么做

private static float HEALTH = 100;

public void render(Graphics g) {
    g.setColor(Color.GRAY);
    g.fillRect(15, 15, 200, 32);

    color = Color.getHSBColor( (1f * HEALTH) / 360, 1f, 1f);

    g.setColor(Color.getHSBColor( (1f * HEALTH) / 360, 1f, 1f));
    g.fillRect(15, 15, (int) HEALTH * 2, 32); 

    g.setColor(Color.white);
    g.drawRect(15, 15, 200, 32);
}

共 (1) 个答案

  1. # 1 楼答案

    Color.getHSBColor(...)获取Color对象后,可以创建第二个Color对象,该对象具有相同的RGB值,但具有不同的Alpha值。Alpha值定义透明度。例如:

    color = Color.getHSBColor( (1f * HEALTH) / 360, 1f, 1f);
    color = new Color( color.getRed(), color.getBlue(), color.getGreen(), 128 );