QAnimationController 类

class Qt3DAnimation::QAnimationController

动画控制器类。[更多信息...

头文件 #include <QAnimationController>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmakeQT += 3danimation
由以下类实例化 AnimationController
继承自 QObject

属性

公共函数

QAnimationController(QObject *parent = nullptr)
intactiveAnimationGroup() const
voidaddAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)
QList<Qt3DAnimation::QAnimationGroup *>animationGroupList()
Qt3DCore::QEntity *entity() const
intgetAnimationIndex(const QString &name) const
Qt3DAnimation::QAnimationGroup *getGroup(int index) const
floatposition() const
floatpositionOffset() const
floatpositionScale() const
boolrecursive() const
voidremoveAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)
voidsetAnimationGroups(const QList<Qt3DAnimation::QAnimationGroup *> &animationGroups)

公共槽

voidsetActiveAnimationGroup(int index)
voidsetEntity(Qt3DCore::QEntity *entity)
voidsetPosition(float position)
voidsetPositionOffset(float offset)
voidsetPositionScale(float scale)
voidsetRecursive(bool recursive)

信号

voidactiveAnimationGroupChanged(int index)
voidentityChanged(Qt3DCore::QEntity *entity)
voidpositionChanged(float position)
voidpositionOffsetChanged(float offset)
voidpositionScaleChanged(float scale)
voidrecursiveChanged(bool recursive)

详细描述

Qt3DAnimation::QAnimationController 类用于控制动画的选择和播放。该类可以将从 Qt3DCore::QEntity 树中找到的所有动画组合在一起,并从具有相同名称的动画中创建 QAnimationGroups。用户可以通过设置活动动画来选择当前由动画控制器控制的动画组。然后将动画位置经过缩放和偏移 positionScale/positionOffset 后传播到该组。

注意:动画控制器没有内部定时器,而用户需要及时更新位置属性。

属性说明

activeAnimationGroup : int

包含当前活动的动画组。

访问函数

intactiveAnimationGroup() const
voidsetActiveAnimationGroup(int index)

通知信号

voidactiveAnimationGroupChanged(int index)

entity : Qt3DCore::QEntity*

包含动画所收集和组合的实体。如果控制器已经包含动画,则它们将被清除。

访问函数

Qt3DCore::QEntity *entity() const
voidsetEntity(Qt3DCore::QEntity *entity)

通知信号

voidentityChanged(Qt3DCore::QEntity *entity)

position : float

包含动画的当前位置。当设置位置时,它会根据 positionScale/positionOffset 缩放和偏移,并传播到活动动画组。

访问函数

floatposition() const
voidsetPosition(float position)

通知信号

voidpositionChanged(float position)

positionOffset : float

包含动画的位置偏移量。

访问函数

floatpositionOffset() const
voidsetPositionOffset(float offset)

通知信号

voidpositionOffsetChanged(float offset)

positionScale : float

包含动画的位置缩放比例。

访问函数

floatpositionScale() const
voidsetPositionScale(float scale)

通知信号

voidpositionScaleChanged(float scale)

recursive : bool

是否在收集实体动画时递归搜索实体树。如果设置为 true,则还会从实体的子实体中搜索动画。如果设置为 false,则只搜索传递给控制器的实体。

访问函数

boolrecursive() const
voidsetRecursive(bool recursive)

通知信号

voidrecursiveChanged(bool recursive)

成员函数文档

QAnimationController::QAnimationController(QObject *parent = nullptr)

使用指定的 parent 构造一个新的 QAnimationController。

void QAnimationController::addAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)

将指定的 animationGroup 添加到控制器中。

QList<Qt3DAnimation::QAnimationGroup *> QAnimationController::animationGroupList()

返回控制器当前持有的动画组列表。

[可调用] int QAnimationController::getAnimationIndex(const QString &name) const

返回名为 name 的动画的索引。如果未找到具有给定名称的 AnimationGroup,则返回 -1。

注意:此函数可以通过元对象系统和 QML 调用。有关详细信息,请参阅 Q_INVOKABLE

[可调用] Qt3DAnimation::QAnimationGroup *QAnimationController::getGroup(int index) const

返回具有给定 indexAnimationGroup

注意:此函数可以通过元对象系统和 QML 调用。有关详细信息,请参阅 Q_INVOKABLE

void QAnimationController::removeAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)

从控制器中删除指定的 animationGroup

void QAnimationController::setAnimationGroups(const QList<Qt3DAnimation::QAnimationGroup *> &animationGroups)

为控制器设置 animationGroups。旧组将被清除。

© 2024 Qt 公司 Ltd. 本文档中包含的贡献的文档版权属于其各自的拥有者。本文档下的文档是根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 授予的。Qt 和相应的标识是芬兰的 Qt 公司及其在全球的注册商标。所有其他商标均为其各自拥有者的财产。