Начинающий
- Статус
- Оффлайн
- Регистрация
- 18 Май 2018
- Сообщения
- 25
- Реакции
- 6
Всегда бесило однообразие дизайна софтов, поэтому дабы кастомизировать всё - даже придумал анимацию для своих творений. Поделюсь одним из своих способов с вами.
Суть заключается в по-символьном переборе по строке (базе символов) с использованием рандома, и выводом всего процесса на экран (Label).
Выглядит примерно так:
Компоненты:
TLabel x1
TTimer x2
Руки x2
Сперва выведем переменные, можно как глобальные, так и локальные на таймер (ваш выбор):
На FormCreate кидаем это, отредактировав под ваши цели. (в переменной "str" содержится конечная строка, в переменной "libs" содержится набор ВСЕХ букв из переменной "str", но добавлены мусорные буквы, для более качественного эффекта перебора букв(от размера обеих переменных зависит скорость перебора))
На первый таймер ставим интервал от 1, до 30 (от этого зависит скорость перебора) и кидаем этот код:
На втором таймере ставим интервал от 1000 до 5000 и код:
Ну-с, как-то так.Фулл копипаст стори З?е*ался писать статью (фулл май код итс приват типа), мб в ближайшее время ещё пару своих способов анимации текста солью.
Суть заключается в по-символьном переборе по строке (базе символов) с использованием рандома, и выводом всего процесса на экран (Label).
Выглядит примерно так:
Компоненты:
TLabel x1
TTimer x2
Руки x2
Сперва выведем переменные, можно как глобальные, так и локальные на таймер (ваш выбор):
Код:
var
str, now, libs, a, b:string;
На FormCreate кидаем это, отредактировав под ваши цели. (в переменной "str" содержится конечная строка, в переменной "libs" содержится набор ВСЕХ букв из переменной "str", но добавлены мусорные буквы, для более качественного эффекта перебора букв(от размера обеих переменных зависит скорость перебора))
Код:
str:='Animation by m0nr';
libs:='Animation mi#bnty nrib*omA{0ny0mra';
На первый таймер ставим интервал от 1, до 30 (от этого зависит скорость перебора) и кидаем этот код:
Код:
a:=Copy(libs,Random(Length(libs)),1);
b:=Copy(str,Length(now)+1, 1);
label1.Caption:=now+a;
if a=b then
begin
now:=now+b;
end;
if str=now then
begin
now:='';
timer1.Enabled:=false;
timer2.Enabled:=True;
end;
На втором таймере ставим интервал от 1000 до 5000 и код:
Код:
timer2.Enabled:=False;
timer1.Enabled:=True;
Ну-с, как-то так.
Последнее редактирование:

