Перейти к содержанию
Fire Monkey от А до Я

Как сделать анимированную отрисовку TPath по частям?


Рекомендуемые сообщения

Здравствуйте.

Подскажите пожалуйста, а есть ли механизм для реализации аминирования отрисовки TPath?

Т.е. как нарисовать хотя бы линию слева направо с анимацией?

Ссылка на комментарий
  • Администраторы

Добрый день,

 

Только создание своего собственного компонента аниматора, который будет добавлять точки по одной в TPath. На подобии TBitmapListAnimation или TColorKeyAnimation

Ссылка на комментарий

Извиняюсь за долгое отсутствие (были проблемы с выходом в сеть интернет).

Написание своего компонента аниматора - я не затащу такой квест, скорее всего. :)

Может есть гайд по созданию подобного компонента, аниматора всмысле?

 

А вообще я наверное приведу пример того что именно я хочу в итоге, а то мне кажется что просто аниматором тут не обойтись.

Да и в целом совет требуется.

 

1. Заголовок (на меняющийся задний фон внимание не обращайте, это выдрано с видео-презентации HUD)
Вот хочется создать компонент, который при enabled:=true отрисовывался, как в самом начале и плавно название (caption) вверху появилось бы.
При изменение text надпись появлялась бы так же, как и строчки снизу.
Ну и конечно "уход со сцены", как в самом конце.

40779_header_01.gif

 

2. Предупреждения

Вот у них тоже три стадии - появление, работа и уход.

Вот на примерах ниже ухода нет, так как в самой видео-презентации не представлен, но он по сути как и появление только наоборот.
40780_caution_01.gif

 

40781_caution_02.gif

 

40782_caution_03.gif

 

40783_danger_01.gif

 

40784_danger_02.gif

 

3. Текстовые поля.

С функциями как у memo например, но с эффектами появления

40785_frame_01.gif

 

 

 

Конечно, в первую очередь я решил наделать много "кадров" и запихать их в TBitmapListAnimation, но тогда программа станет весьма груженной и мне кажется что это в целом плохой путь. К тому же через TBitmapListAnimation масштабирование будет не возможным. А значит требуется использовать "векторный" подход. Я прав в своих рассуждениях, касательно векторного варианта?

 

И куда копать и что делать, что бы получить желаемый результат? Я бы и в разделе "создание компонентов" отписался бы, но сейчас даже не знаю как ТЗ сформировать.

Ссылка на комментарий
  • Администраторы

1 Заголовок

post-1-0-94635900-1417536229.gif

А) выдвигаемая кривая линия.

  1. Я бы взял статическую картинку с кривой или векуторную кривую в TPath.
  2. Положил бы кривую TPath в контейнер. Например в TLayout.
  3. Для контейнера задал бы отрезание чилдов ClipChildren = True.
  4. B задал бы анимацию ширины контейнера.

Что в итоге, на каждом шаге анимации у меня просто растет область отрисовки изображения/пути. При постоянном размере пути/изображения.

 

Б) Появляемый текст

Я бы применил бы тот же подход, что и в пункте А.

 

В) Уход 

Делается так же, как и пункт А

 

2 Предупреждение

post-1-0-88005400-1417536588.gif

А) Появление.

  1. Анимация изменения размера картинки/пути и позиции
  2. Анимация поворот картинки после разворачивания круга.

Б) Работа

  1. Мигание через прозрачность надписи

В) Скрытие

Аналогично пункту А, но в обратном порядке

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...