Класс QAnimationController
класс Qt3DAnimation::QAnimationControllerКласс-контроллер для анимаций. Подробнее...
| Заголовок: | #include <QAnimationController> |
| CMake: | find_package(Qt6 COMPONENTS 3danimation REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
| qmake: | QT += 3danimation |
| С момента: | Qt 5.9 |
| Инициализируется: | AnimationController |
| Наследует: | QObject |
Свойства
|
|
Открытые функции
| QAnimationController(QObject *parent = nullptr) | |
| int | activeAnimationGroup() const |
| void | addAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup) |
| QList<Qt3DAnimation::QAnimationGroup *> | animationGroupList() |
| Qt3DCore::QEntity * | entity() const |
| int | getAnimationIndex(const QString &name) const |
| Qt3DAnimation::QAnimationGroup * | getGroup(int index) const |
| float | position() const |
| float | positionOffset() const |
| float | positionScale() const |
| bool | recursive() const |
| void | removeAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup) |
| void | setAnimationGroups(const QList<Qt3DAnimation::QAnimationGroup *> &animationGroups) |
Открытые слоты
| void | setActiveAnimationGroup(int index) |
| void | setEntity(Qt3DCore::QEntity *entity) |
| void | setPosition(float position) |
| void | setPositionOffset(float offset) |
| void | setPositionScale(float scale) |
| void | setRecursive(bool recursive) |
Сигналы
| void | activeAnimationGroupChanged(int index) |
| void | entityChanged(Qt3DCore::QEntity *entity) |
| void | positionChanged(float position) |
| void | positionOffsetChanged(float offset) |
| void | positionScaleChanged(float scale) |
| void | recursiveChanged(bool recursive) |
Подробное описание
Qt3DAnimation::QAnimationController управляет выбором и воспроизведением анимаций. Класс может использоваться для поиска всех анимаций из дерева Qt3DCore::QEntity и создания QAnimationGroups из анимаций с одинаковыми именами. Пользователь может выбрать, какая группа анимаций в данный момент управляется контроллером анимации, задав активную анимацию. Положение анимации затем передаётся в эту группу после масштабирования и смещения предоставленного значения положения с помощью значений positionScale и positionOffset.
Примечание: контроллер анимации не имеет внутреннего таймера, а вместо этого пользователь отвечает за своевременное обновление свойства position.
Документация свойств
activeAnimationGroup : int
Содержит текущую активную группу анимаций.
Функции доступа:
| int | activeAnimationGroup() const |
| void | setActiveAnimationGroup(int index) |
Сигнал уведомления:
| void | activeAnimationGroupChanged(int index) |
entity : Qt3DCore::QEntity*
Содержит сущность, из которой собираются и группируются анимации. Если в контроллере уже есть анимации, они очищаются.
Функции доступа:
| Qt3DCore::QEntity * | entity() const |
| void | setEntity(Qt3DCore::QEntity *entity) |
Сигнал уведомления:
| void | entityChanged(Qt3DCore::QEntity *entity) |
position : float
Содержит текущую позицию анимации. При установке позиции она масштабируется и смещается с помощью positionScale/positionOffset и передаётся активной группе анимаций.
Функции доступа:
| float | position() const |
| void | setPosition(float position) |
Сигнал уведомления:
| void | positionChanged(float position) |
positionOffset : float
Содержит смещение позиции анимации.
Функции доступа:
| float | positionOffset() const |
| void | setPositionOffset(float offset) |
Сигнал уведомления:
| void | positionOffsetChanged(float offset) |
positionScale : float
Содержит масштаб позиции анимации.
Функции доступа:
| float | positionScale() const |
| void | setPositionScale(float scale) |
Сигнал уведомления:
| void | positionScaleChanged(float scale) |
recursive : bool
Указывает, нужно ли рекурсивно искать в дереве сущностей при сборе анимаций из сущности. Если установлено в true, анимации ищутся также в дочерних сущностях сущности. Если установлено в false, ищется только сущность, переданная в контроллер.
Функции доступа:
| bool | recursive() const |
| void | setRecursive(bool recursive) |
Сигнал уведомления:
| void | recursiveChanged(bool recursive) |
Документация функций-членов
QAnimationController::QAnimationController(QObject *parent = nullptr)
Создаёт новый QAnimationController с parent.
void QAnimationController::addAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)
Добавляет указанную animationGroup в контроллер.
QList<Qt3DAnimation::QAnimationGroup *> QAnimationController::animationGroupList()
Возвращает список групп анимаций, которые в данный момент содержит контроллер.
[invokable] int QAnimationController::getAnimationIndex(const QString &name) const
Возвращает индекс анимации с именем name. Возвращает -1, если не найдена группа анимаций с заданным именем.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] Qt3DAnimation::QAnimationGroup *QAnimationController::getGroup(int index) const
Возвращает группу анимаций с заданным index.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
void QAnimationController::removeAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)
Удаляет указанную animationGroup из контроллера.
void QAnimationController::setAnimationGroups(const QList<Qt3DAnimation::QAnimationGroup *> &animationGroups)
Устанавливает animationGroups для контроллера. Старые группы очищаются.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3danimation-qanimationcontroller.html