Spec-Zone.ru › Qt 5.13

Тип QML SmoothedAnimation

Позволяет свойству плавно отслеживать значение. Подробнее...

Оператор импорта: import QtQuick 2.13
Наследует:

NumberAnimation

  • Список всех членов, включая унаследованные

Свойства

  • duration : int
  • maximumEasingTime : int
  • reversingMode : перечисление
  • velocity : real

Подробное описание

Объект SmoothedAnimation анимирует значение свойства к заданному целевому значению с использованием кривой плавного ускорения/замедления. При изменении целевого значения кривые плавного ускорения/замедления, используемые для анимации между старым и новым целевыми значениями, плавно соединяются, чтобы создать плавное движение к новому целевому значению, сохраняя текущую скорость.

Следующий пример демонстрирует, как один прямоугольник Rectangle отслеживает положение другого с помощью SmoothedAnimation. Значения x и y зеленого прямоугольника привязаны к значениям красного прямоугольника. Всякий раз, когда эти значения изменяются, зеленый прямоугольник плавно перемещается в новое положение:

import QtQuick 2.0

Rectangle {
    width: 800; height: 600
    color: "blue"

    Rectangle {
        width: 60; height: 60
        x: rect1.x - 5; y: rect1.y - 5
        color: "green"

        Behavior on x { SmoothedAnimation { velocity: 200 } }
        Behavior on y { SmoothedAnimation { velocity: 200 } }
    }

    Rectangle {
        id: rect1
        width: 50; height: 50
        color: "red"
    }

    focus: true
    Keys.onRightPressed: rect1.x = rect1.x + 100
    Keys.onLeftPressed: rect1.x = rect1.x - 100
    Keys.onUpPressed: rect1.y = rect1.y - 100
    Keys.onDownPressed: rect1.y = rect1.y + 100
}

Объект SmoothedAnimation можно настроить, установив скорость анимации velocity или продолжительность анимации duration. Если заданы и скорость, и продолжительность, для каждого изменения целевого значения используется значение, которое приводит к самой быстрой анимации.

Например, анимация от 0 до 800 займет 4 секунды при скорости 200, 8 секунд при продолжительности 8000 и 4 секунды при заданных скорости 200 и продолжительности 8000. Анимация от 0 до 20000 займет 10 секунд при скорости 200, 8 секунд при продолжительности 8000 и 8 секунд при заданных скорости 200 и продолжительности 8000.

По умолчанию скорость SmoothedAnimation составляет 200 единиц/секунду. Обратите внимание, что если диапазон анимируемого значения невелик, скорость необходимо соответствующим образом скорректировать. Например, непрозрачность элемента изменяется в диапазоне от 0 до 1,0. Для обеспечения плавной анимации в этом диапазоне скорость должна быть установлена, например, в 0,5 единиц/секунду. Анимация от 0 до 1,0 со скоростью 0,5 займет 2000 мс.

Как и любой другой тип анимации, SmoothedAnimation можно применять различными способами, включая переходы, поведения и источники значений свойств. Документация Анимации и переходы в Qt Quick демонстрирует различные методы создания анимаций.

См. также SpringAnimation, NumberAnimation, Анимации и переходы в Qt Quick и Примеры Qt Quick — Анимация.

Документация по свойствам

duration : int

Это свойство хранит продолжительность анимации в мс, используемой при отслеживании источника.

Установка значения -1 (по умолчанию) отключает значение продолжительности.

Если значение скорости и значение продолжительности включены, анимация будет использовать значение, которое обеспечивает меньшую продолжительность.

maximumEasingTime : int

Это свойство определяет максимальное время в мс, которое может занимать любой "плавный переход" во время отслеживания. Установка этого свойства приводит к "выравниванию" скорости после определенного времени. Установка отрицательного значения возвращает к обычному режиму плавного перехода в течение всей продолжительности анимации.

Значение по умолчанию равно -1.

reversingMode : перечисление

Устанавливает поведение SmoothedAnimation в случае изменения направления анимации.

Возможные значения:

  • SmoothedAnimation.Eased (по умолчанию) — анимация плавно замедлится, а затем изменит направление
  • SmoothedAnimation.Immediate — анимация сразу начнет ускоряться в обратном направлении, начав с скорости 0
  • SmoothedAnimation.Sync — свойство сразу устанавливается в целевое значение

velocity : real

Это свойство хранит среднюю скорость, разрешенную при отслеживании значения "до".

По умолчанию скорость SmoothedAnimation составляет 200 единиц/секунду.

Установка значения -1 отключает значение скорости.

Если значение скорости и значение продолжительности включены, анимация будет использовать значение, которое обеспечивает меньшую продолжительность.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-smoothedanimation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API