Поиск сообщества

Показаны результаты для тегов 'TFloatAnimation'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • API интернет сервисов
    • ВКонтакте API
    • Google Maps API
    • Yandex деньги
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума
    • Правила форума
    • Нарушения правил форума
    • Предложения об организации форума
    • Проблемы
    • Функции форума
  • Видеокурсы
    • Основная информация
    • Курсы
    • Предложения и голосования за новые курсы
    • Вопросы

Категории

  • Курсы

Найдено: 12 результатов

  1. Анимация пока создается форма

    В проекте несколько форм: есть главная (меню) + ИСТОРИЯ (достаточно тяжелая форма) + другие Задача: по нажатию в МЕНЮ на кнопку, начинается создание ИСТОРИИ и в это время проигрывается FloatAnimation для вращения индикатора (это круг с изображением). нужно по завершению создания формы прекратить анимацию и показать форму Как делаю: на главной форме есть F: TForm; при создании формы: F := nil; при нажатии на кнопку: 1) стартует анимация 2) F := TF_History.Create(nil); в процессе проверяю создание формы (если создалась, то стоп) procedure TF_Main.FloatAnimation1Process(Sender: TObject); begin if Assigned(F) then FloatAnimation1.Stop; end; в стопе показываю форму procedure TF_Main.FloatAnimation1Finish(Sender: TObject); begin F.Show; end; Ошибка: приложение вылетает с ошибкой "stack overflow"! P.S. Не совсем понимаю где копать, да и если у кого есть решение получше, буду только рад!)
  2. Анимация масштабирования

    Друзья, столкнулся с проблемой, описанной в посте Хочу предложить свое решение (может кому пригодится). Чтобы центр масштабирования был именно в центре объекта (в моем случае это TImage), необходимо после масштабирования установить свойство Align = TAlignLayout.Center, причем до этого нужно установить его в TAlignLayout.None ! Примерно вот так: Image1.Scale.X:= 1.3; Image1.Scale.Y:= 1.3; Image1.Align:= TAlignLayout.None; Image1.Align:= TAlignLayout.Center; В этом случае будет эффект увеличения объекта из центра. Если убрать строчку "Image1.Align:= TAlignLayout.None;" - увеличение будет из левого верхнего угла. На мой взгляд некорректное поведение платформы. Возможно в будущих релизах это поправят. Embarcadero® Delphi 10.1 Berlin Update 2 Version 24.0.25048.9432
  3. Всем добрый день. Как правильно переопределить родителя для аниматора и тем самым использовать один аниматор для нескольких объектов? Пытаюсь реализовать следующий принцип: на форме несколько прямоугольников и один аниматор. При клике по конкретному прямоугольнику он начинает менять координату. Вот чаcть кода: procedure TForm2.MoveRect(Rect: TRectangle); begin //задаем родителя для аниматора Rect.AddObject(AniMoveRect); //Анимируем координату Y прямоугольника AniMoveRect.PropertyName:='Position.Y'; AniMoveRect.Inverse:=False; AniMoveRect.StopValue:=0; AniMoveRect.Start; end; procedure TForm2.RectangleClick(Sender: TObject); begin MoveRect(Sender as TRectangle); end; В итоге анимируется только один прямоугольник - тот, на который кликнули в первый раз. Не могу понять, в чем проблема. Данную тему читал, но в ней, насколько я понял, речь идет об одновременном использовании аниматора для двух объектов. AniRects.zip
  4. Доброго времени суток. Требовалось в мой проект добавить немного анимации чтобы пользователи не скучали. По такому случаю решил использовать TFloatAnimation FireMonkey т.к. все говорили что это просто и очень красиво получается. Но возникла проблема с количеством кадров в секунду. Приведу конкретный пример. Нужно на OnMouseEnter чтобы кнопка увеличивалась по высоте в 2 раза (с 25 до 50). Так вот, если на свойство Height повесить TFloatAnimation то за 0,5 секунды картинка обновится на компе Celeron 2,2GHz 2Гб ОЗУ всего 2-3 раза на компе Intel i3 2,53Ghz 4 Гб ОЗУ быстрее где-то раза в 3, но все равно не так плавно как хотелось бы. Но если я по-старинке напишу такой код на OnMouseEnter while but.Height < 50 do begin but.Height := but.Height + 1; Application.ProcessMessages; sleep(5); end; И аналогичное на OnMouseLeave то даже на первом менее мощном компьютере все очень быстро и красиво отрабатывает. Просто супер как отрабатывает. Это нормально для FireMonkey? Неужели все программируют под хорошие, относительно мощные компьютеры, а на старом железе нормальную анимацию на FireMonkey не написать? Все видео что я видел в интернете про анимацию в FireMonkey отличное, анимация правда хорошая. Это меня удивляет. Нигде не нашел информацию о том на какою дельту изменяется свойство объекта в TFloatAnimation и как определяется задержка между кадрами. Может при установке RAD? Может кто-то сталкивался и такой проблемой и решил ее? Заранее благодарен.
  5. Редактирую стиль, добавляю к нему компонент TImage и для свойства RotateAngle создаю FloatAnimation (параметры анимации на скрине). Но при запуске никакой анимации нет. Почему? И как все же добиться работоспособности анимации для элемента стиля?
  6. Анимация масштабирования

    Добрый день! Хочу заанимировать Lable таким образом, чтобы параметр Scale.X линейно увеличивался. Но при этом необходимо, чтобы центр компонента оставался на своем месте. А параметр Scale.X за начало отсчета принимает верхний левый угол лейбла. Есть ли возможность изменить центр масштабирования компонента? Я данную задачу уже решил путем добавления анимации смещения влево, но этот способ мне кажется топорным и неоптимальным.
  7. Здравствуйте! Как можно реализовать простой эффект плавного исчезновения текста (TLabel) с последующим его плавным появлением без глюков? Пример: Кидаю на форму Label Создаю FloatAnimation для свойства Opacity У FloatAnimation делаю StartValue = 1, StopValue = 0 Кидаю на форму кнопку и в OnClick пишу: FloatAnimation1.Start; Результат: При нажатии кнопки текст плавно исчезает и по завершению анимации текста не видно. У FloatAnimation делаю AutoReverse = true; Результат: При нажатии кнопки текст плавно исчезает, а затем плавно появляется. По завершению анимации текст виден. Но при повторном нажатии всё начинает глючить. Вопрос: как исправить?
  8. Как запустить анимацию с кнопки для другого компонента? К примеру с Button кликом запустить анимация для вызова например анимированного объекта Panel?
  9. TFloatAnimation использует ProcessMessages Это чревато возникновением всяких событий, и даже закрытию формы во время анимации, что приводит к AV очень хочется иметь Repaint без ProcessMessages. Это возможно?
  10. Придумал как реализовать эфект Анимация смены TabItem в TabControl , но есть вопрос - можно ли для двух объектов использовать один TFloatAnimation? или реализовывать через TTimer?
  11. Как сделать эффект вспышки? То есть чтобы например Panel переходила из Opasity=0 в Opasity=1 и потом обратно, за 500мс..
  12. Как создать выдвигаемую панель?

    В системе iOS есть несколько вариантов анимации выдвижных панелей, и вот один из них это когда панель выходит снизу экрана, как это можно сделать?