Класс QAbstractAnimationClip
класс Qt3DAnimation::QAbstractAnimationClipQAbstractAnimationClip — базовый класс для типов, предоставляющих данные анимации с ключевыми кадрами. Подробнее...
| Заголовок: | #include <QAbstractAnimationClip> |
| CMake: | find_package(Qt6 COMPONENTS 3danimation REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
| qmake: | QT += 3danimation |
| С момента: | Qt 5.9 |
| Наследуется от: | Qt3DCore::QNode |
| Наследуется: | Qt3DAnimation::QAnimationClip и Qt3DAnimation::QAnimationClipLoader |
Свойства
- duration : const float
Открытые функции
| virtual | ~QAbstractAnimationClip() |
| float | duration() const |
Сигналы
| void | durationChanged(float duration) |
Подробное описание
Для использования системы анимации с ключевыми кадрами в модуле Qt 3D Animation компоненту аниматора необходимо предоставить данные анимации с ключевыми кадрами. Данные анимации предоставляются одним из конкретных подклассов QAbstractAnimationClip:
QAnimationClip следует использовать, когда вы хотите создать данные анимации программно в своем приложении. Фактические данные устанавливаются с помощью значения типа QAnimationClipData.
Если вы загружаете данные анимации, сохранённые в файле (например, созданные художником), используйте класс QAnimationClipLoader и установите его source свойство.
После того, как клип анимации будет заполнен данными с помощью указанных методов, свойство только для чтения duration будет обновлено бэкендом Qt 3D Animation.
Типичное использование клипов анимации:
auto animator = new QClipAnimator();
auto clip = new QAnimationClipLoader();
clip->setSource(QUrl::fromLocalFile("bounce.json"));
animator->setClip(clip);
animator->setChannelMapper(...);
animator->setRunning(true); Клипы анимации также используются в качестве значений лиственных узлов в деревьях смешивания анимации:
// Create leaf nodes of blend tree
auto slideClipValue = new QClipBlendValue(
new QAnimationClipLoader(QUrl::fromLocalFile("slide.json")));
auto bounceClipValue = new QClipBlendValue(
new QAnimationClipLoader(QUrl::fromLocalFile("bounce.json")));
// Create blend tree inner node
auto additiveNode = new QAdditiveClipBlend();
additiveNode->setBaseClip(slideClipValue);
additiveNode->setAdditiveClip(bounceClipValue);
additiveNode->setAdditiveFactor(0.5f);
// Run the animator
auto animator = new QBlendedClipAnimator();
animator->setBlendTree(additiveNode);
animator->setChannelMapper(...);
animator->setRunning(true); См. такжеQt3DAnimation::QAnimationClip и Qt3DAnimation::QAnimationClipLoader.
Документация по свойствам
[read-only] duration : const float
Содержит продолжительность клипа анимации в секундах. Обновляется после того, как данные анимации предоставлены Qt 3D с помощью одного из конкретных подклассов.
Функции доступа:
| float | duration() const |
Сигнал уведомления:
| void | durationChanged(float duration) |
Документация по членам-функциям
[virtual] QAbstractAnimationClip::~QAbstractAnimationClip()
Уничтожает этот клип анимации.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3danimation-qabstractanimationclip.html