код матрицы падения Java (как в фильме) - PullRequest
1 голос
/ 16 января 2011

Если вы хотите написать программу на java, которая использует JFrame для имитации падающего зеленого кода из матричного фильма, используя символы строки ascii, чтобы он выглядел в точности как этот пример php

http://mgccl.com/2007/03/30/simple-version-matrix-like-animated-dropping-character-effect-in-php

что было бы лучшим способом сделать это? ярлыки, drawString? и т.д ...

Я знаю, что в цикле for, например, вы можете использовать целочисленное значение i, чтобы уменьшить значения по оси Y, затемнить цвет setColor (new Color (255, 255 - (i * 5), 255));

но я не знаю, как бы вы оставили "отпечаток" позади.

спасибо

Ответы [ 2 ]

2 голосов
/ 16 января 2011

Этот пример показывает, как растушевать текст, используя альфа-прозрачность, в то время как этот пример показывает, как затухать текст, изменяя насыщенность цвета.

Добавление:

Какой наилучший макет графического интерфейса использовать?

Я бы решил эту проблему в одном столбцовом столбце JPanel шириной, равной выбранному Fontи произвольно высокий.Используйте javax.swing.Timer для управления анимацией.Затем используйте new GridLaylout(1, 0), чтобы содержать любое количество таких столбцов в виде одной строки.

0 голосов
/ 16 января 2011

Как только вы достигнете 0 для i, вы просто начнете делать то же самое для двух других каналов, поэтому он постепенно станет черным или исчезнет.

setColor(new Color(255 - (i * 5), 0, 255 - (i * 5)));

Длина зависит от размера шага (который в вашем случае равен 5 и, следовательно, длина отпечатка равна 51). Таким образом, если вы хотите короткий оттиск, вы должны сделать numSteps = 255 / length оттиска (проблему округления не следует игнорировать):

i = numSteps..0
setColor(new Color(255 - (i * step), 0, 255 - (i * step)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...