Класс 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, если не найдена группа анимаций AnimationGroup с заданным именем.
Примечание: Эту функцию можно вызывать через механизм метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] Qt3DAnimation::QAnimationGroup *QAnimationController::getGroup(int index) const
Возвращает AnimationGroup с заданным 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.1/qt3danimation-qanimationcontroller.html