QAnimationController 类
class Qt3DAnimation::QAnimationController动画控制器类。[更多信息...
头文件 | #include <QAnimationController> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3danimation) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
qmake | QT += 3danimation |
由以下类实例化 | 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 后传播到该组。
注意:动画控制器没有内部定时器,而用户需要及时更新位置属性。
属性说明
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)
使用指定的 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
返回具有给定 index 的 AnimationGroup。
注意:此函数可以通过元对象系统和 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 公司及其在全球的注册商标。所有其他商标均为其各自拥有者的财产。