- class QAbstractAnimationClip#
QAbstractAnimationClip
是提供关键帧动画数据的类型的基类。 更多信息…继承自:
QAnimationClipLoader
,QAnimationClip
摘要#
属性#
方法#
def
duration()
信号#
备注
本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有误,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式告知我们。
详细描述#
要利用 Qt 3D 动画模块中的关键帧动画框架,需要为正在使用的动画组件提供关键帧动画数据。动画数据由
QAbstractAnimationClip
的具体子类之一提供。QAnimationClip
QAnimationClipLoader
当您希望在应用程序中通过编程方式创建动画数据时,应使用
QAnimationClip
。实际数据通过QAnimationClipData
值类型设置。如果您正在从文件加载烘焙动画数据(例如,由艺术家创建),则使用
QAnimationClipLoader
类并设置其source
属性。一旦使用上述方法之一填充了动画片段数据,Qt 3D 动画后端将更新只读的持续时间属性。
动画片段的典型用法
auto animator = new QClipAnimator(); auto clip = new QAnimationClipLoader(); clip->setSource(QUrl::fromLocalFile("bounce.json")); animator->setClip(clip); animator->setChannelMapper(...); animator->setRunning(true);
动画片段还用作动画混合树中的叶节点值
// Create leaf nodes of blend tree auto slideClipValue = new QClipBlendValue( new QAnimationClipLoader(QUrl::fromLocalFile("slide.json"))); auto bounceClipValue = new QClipBlendValue( new QAnimationClipLoader(QUrl::fromLocalFile("bounce.json"))); // Create blend tree inner node auto additiveNode = new QAdditiveClipBlend(); additiveNode->setBaseClip(slideClipValue); additiveNode->setAdditiveClip(bounceClipValue); additiveNode->setAdditiveFactor(0.5f); // Run the animator auto animator = new QBlendedClipAnimator(); animator->setBlendTree(additiveNode); animator->setChannelMapper(...); animator->setRunning(true);
另请参阅
QAnimationClip
QAnimationClipLoader
备注
可以使用属性或通过访问函数使用属性,具体取决于是否使用
from __feature__ import true_property
。- 属性durationᅟ: float#
表示动画片段的持续时间,单位为秒。一旦使用具体子类之一提供动画数据给 Qt 3D,就会更新。
- 访问函数
- duration()#
- 返回类型:
float
属性
durationᅟ
的获取器。- durationChanged(duration)#
- 参数:
duration – float
属性
durationᅟ
的通知信号。