QAnimationController Class

class Qt3DAnimation ::QAnimationController

A controller class for animations. 更多...

头: #include <QAnimationController>
CMake: find_package(Qt6 COMPONENTS 3danimation REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
Since: 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 class controls the selection and playback of animations. The class can be used to find all animations from Qt3DCore::QEntity tree and create QAnimationGroups from the animations with the same name. The user can select which animation group is currently controlled with the animation controller by setting the active animation. The animation position is then propagated to that group after scaling and offsetting the provided position value with the positionScale and positionOffset 值。

注意: that the animation controller doesn't have internal timer, but instead the user is responsible for updating the position property in timely manner.

特性文档编制

activeAnimationGroup : int

Holds the currectly active animation group.

访问函数:

int activeAnimationGroup () const
void setActiveAnimationGroup (int index )

通知程序信号:

void activeAnimationGroupChanged (int index )

entity : Qt3DCore::QEntity *

Holds the entity animations are gathered and grouped from. If the controller already holds animations, they are cleared.

访问函数:

Qt3DCore::QEntity * entity () const
void setEntity (Qt3DCore::QEntity * entity )

通知程序信号:

void entityChanged (Qt3DCore::QEntity * entity )

position : float

Holds the current position of the animation. When the position is set, it is scaled and offset with positionScale / positionOffset and propagated to the active animation group.

访问函数:

float 位置 () const
void setPosition (float position )

通知程序信号:

void positionChanged (float position )

positionOffset : float

Holds the position offset of the animation.

访问函数:

float positionOffset () const
void setPositionOffset (float offset )

通知程序信号:

void positionOffsetChanged (float offset )

positionScale : float

Holds the position scale of the animation.

访问函数:

float positionScale () const
void setPositionScale (float scale )

通知程序信号:

void positionScaleChanged (float scale )

recursive : bool

Holds whether the recursively search the entity tree when gathering animations from the entity. If set to true, the animations are searched also from the child entities of the entity. If set to false, only the entity passed to the controller is searched.

访问函数:

bool recursive () const
void setRecursive (bool recursive )

通知程序信号:

void recursiveChanged (bool recursive )

成员函数文档编制

QAnimationController:: QAnimationController ( QObject * parent = nullptr)

Constructs a new QAnimationController with parent .

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

添加给定 animationGroup to the controller.

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

Returns the list of animation groups the conroller is currently holding.

[invokable] int QAnimationController:: getAnimationIndex (const QString & name ) const

Returns the index of the animation with name . Returns -1 if no AnimationGroup with the given name is found.

注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .

[invokable] Qt3DAnimation::QAnimationGroup *QAnimationController:: getGroup ( int index ) const

返回 AnimationGroup 采用给定 index .

注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .

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

移除给定 animationGroup from the controller.

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

设置 animationGroups for the controller. Old groups are cleared.