QML类型说明-Animator
来源:互联网 发布:鄂州软件开发公司 编辑:程序博客网 时间:2024/04/29 20:05
Animator
ImportStatement:
Since:
Properties
duration : int
easing
easing.type : enumeration
easing.amplitude : real
easing.overshoot : real
easing.period : real
easing.bezierCurve : list
from : real
target : QtQuick::Item
to : real
DetailedDescription
Animator是直接在QtQuick的场景中操作的动画类型。它不像一般的动画和QML组件那样,当UI线程阻塞的时候,动画渲染线程也阻塞。这个特点可以在文字跑马灯上看得很清楚。在芯承荣治的6120板卡上,使用QPainter绘制的跑马灯,当字体大于200时,会变得很卡,而使用Animator,即使字体是全屏的,跑马灯依旧非常流畅。
这个类型的属性值,在动画运行的时候,不会发生变化。只有当动画运行完毕,其属性才会更新。我们可以像使用其它动画类型那样去使用它。
Rectangle {
}
如果ParallelAnimation和SequentialAnimation的所有子动画都是Animator。那么它们会在可能的情况下,被当成一个Animator在场景中运行。
Animator可用于过渡,但不可逆。既不能倒着播。Animator不能直接用于QML文件。它为所有继承它的组件提供共同的属性和方法。直接在QML中使用Animator将导致一个错误。
PropertyDocumentation
duration : int
动画持续的时间,毫秒级。默认值250
easing group
easing.type : enumeration
easing.amplitude : real
easing.overshoot : real
easing.period : real
easing.bezierCurve : list
用于指定动画的缓和曲线。动画从开始到结束,比如开始红色,结束绿色;又比如开始在A点,结束到B点。这个动画的过程,我们用一条曲线来描述。如红色变绿色,开始我们变得快些,后面我们变得慢些,这个变化的速度曲线,就是缓和曲线,以此类推。
如指定缓和曲线,easing.type是必须需要指定的。此外,我们还可以指定动画的振幅、周期和过冲。默认的曲线是Easing.Linear。下表详细的介绍了缓和曲线。
从0加速,缓和曲线为t的正弦函数(sin(t))
Easing.OutSine减速到0,缓和曲线为t的正弦函数(sin(t))Easing.InOutSine先加速,后减速,缓和曲线为t的正弦函数(sin(t))Easing.OutInSine先减速,后加速,缓和曲线为t的正弦函数(sin(t))Easing.InExpo从0加速,缓和曲线为2的t次方(2^t)Easing.OutExpo减速到0,缓和曲线为2的t次方(2^t)Easing.InOutExpo先加速后减速,缓和曲线为2的t次方(2^t)Easing.OutInExpo先减速后加速,缓和曲线为2的t次方(2^t)Easing.InCirc从0加速,缓和曲线为(1-t^2)的平方根(sqrt(1-t^2))Easing.OutCirc减速到0,缓和曲线为(1-t^2)的平方根(sqrt(1-t^2))Easing.InOutCirc先加速,后减速,缓和曲线为(1-t^2)的平方根(sqrt(1-t^2))Easing.OutInCirc先减速,后加速,缓和曲线为(1-t^2)的平方根(sqrt(1-t^2))Easing.InElastic峰值衰减正弦波,峰值从0开始,可设置振幅和周期参数
Easing.OutElastic峰值衰减正弦波,峰值衰减到0,可设置振幅和周期参数Easing.InOutElastic峰值衰减正弦波,峰值从0开始,半程时减少到0
峰值衰减正弦波,峰值减少到半程,然后增加
Easing.InBack从0开始过冲,缓和曲线(s+1)*t^3 - s*t^2)
Easing.OutBack减少到0的过冲,缓和曲线(s+1)*t^3 - s*t^2)
Easing.InOutBack从0开始到半程增加过冲,然后减少。缓和曲线
过冲减少到半程,然后增加,缓和曲线(s+1)*t^3 - s*t^2)
Easing.InBounce指数衰减型反弹曲线,从0增加
Easing.OutBounce指数衰减型反弹曲线,减少到0
Easing.InOutBounce指数衰减型反弹曲线,先加后减
.Easing.OutInBounce先减后加
easing.amplitude这个参数只适用于Easing.InBounce、Easing.OutBounce、Easing.InOutBounce,、Easing.OutInBounce、Easing.InElastic、Easing.OutElastic、Easing.InOutElastic、Easing.OutInElastic这8种曲线
easing.overshoot这个参数只适用于Easing.InBack、Easing.OutBack、Easing.InOutBack、Easing.OutInBack这四种曲线
easing.period这个参数只适用于Easing.InElastic、Easing.OutElastic、Easing.InOutElastic、Easing.OutInElastic这四种曲线
easing.bezierCurve这个参数只适用于Easing.Bezier曲线。这个曲线没有放到上面的列表中。它是自定义的曲线。使用本参数控制。这个参数是3个点构成的组的列表,3个点分别为控制点1,控制点2和终点。[cx1,cy1, cx2, cy2, endx, endy,...],参数里面可以有很多个组,但这个参数的终点,必须是(1,1)
可同时参阅缓冲的实例
from : real
动画的起始值。如果一个动画被定义为过渡或行为,这个值的默认值是过渡的开始状态或行为触发的属性值。
同时参阅Animation和Transitions的类型文档。
target :QtQuick::Item
动画的目标组件。注意动画的目标必须是Item组件。
to : real
动画的终点值。如果一个动画被定义为过渡或行为。这个值的默认值是过渡的终点状态或触发行为改变后的属性值。
- QML类型说明-Animator
- QML类型说明-Accessible
- QML类型说明-Action
- QML类型说明-Address
- QML类型说明-Affector
- QML类型说明-Age
- QML类型说明-Altimeter
- QML类型说明-AltimeterReading
- QML类型说明-AmbientLightReading
- QML类型说明-AmbientLightSensor
- QML类型说明-AnchorAnimation
- QML类型说明-AnchorChanges
- QML类型说明-AngleDirection
- QML类型说明-ParallelAnimation
- QML类型说明-AnimatedImage
- QML类型说明-AnimatedSprite
- QML类型说明-ApplicationWindow
- QML类型说明-SequentialAnimation
- QML类型说明-AmbientTemperatureSe…
- QML类型说明-AnchorAnimation
- QML类型说明-AnchorChanges
- QML类型说明-AngleDirection
- QML类型说明-ParallelAnimation
- QML类型说明-Animator
- QML类型说明-AnimatedImage
- QML类型说明-AnimatedSprite
- QML类型说明-AttenuationModelInve…
- 使用Pspice进行电路仿真
- QML类型说明-ApplicationWindow
- QML类型说明-SequentialAnimation
- QML类型说明-Animation
- QML类型说明-AttenuationModelLine…