我正在尝试介绍我正在制作的游戏。所以我得到了一个漂亮的小白色和灰色标志,我想淡入然后淡出。 我正在使用AlphaComposite来淡化它并且它的工作非常漂亮。但我无法让它淡出淡出。我得到的最好结果是徽标变白,最糟糕的是黑屏。
这是我正在运行的代码。
其中一些可能是多余的。但我在这里失踪了什么。我尝试过不同的AlphaComposite设置组合。但他们有点过头了。
对于易于理解的描述的任何提示都将受到高度赞赏,并且对于为什么你的衣服正确的一个很好的解释也会很好。 :)
private void intro(int duration)
{
Image introScreen = new ImageIcon("src\\Img\\Logo.png").getImage();
Graphics2D g = s.getGraphics();
for (int i = 0; i <= 200; i++)
{
int reverse = 100;
if (i <= 100)
{
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_IN, i * 0.01f));
g.drawImage(introScreen, 0, 0, null);
s.update();
}
else
{
g.setColor(Color.BLACK);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_IN, reverse * 0.01f));
g.drawRect(0, 0, s.getWidth(), s.getHeight());
s.update();
reverse--;
}
try
{
Thread.sleep(duration / 200);
// TODO Remove hardcoding
}
catch (Exception ex)
{
// TODO Add Exception Handling
}
}
g.dispose();
}