Возникли проблемы с исчезновением изображения - PullRequest
0 голосов
/ 05 февраля 2012

Я пытаюсь сделать вступление к игре, которую я делаю. поэтому у меня есть красивый маленький бело-серый логотип, который я хочу добавить, а затем исчезнуть. Я использую 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();
}
...