0%

SmoothedAnimation属性说明

相关控件:PropertyAnimation NumberAnimation

SmoothedAnimation使用易于输入/输出四缓和曲线动画属性值的一组目标值。当目标值改变时,用于在旧的和新的目标值之间动画化的缓动曲线平滑地拼接在一起,以创建保持当前速度的新目标值的平滑移动。

本文: https://www.lovejia.win/blog/article/SmoothedAnimation.html
参考原文:http://doc.qt.io/qt-5/qml-qtquick-smoothedanimation.html
参考译文:http://blog.csdn.net/xuancailinggan/article/details/50894032

属性说明

duration : int

此属性保存跟踪源时使用的动画持续时间(以毫秒为单位)。
将其设置为-1(默认值)将禁用持续时间值。
如果速度值和持续时间值都启用,则动画将使用给定较短持续时间的那个。

maximumEasingTime : int

此属性指定最大时间(以毫秒为单位),后续操作期间的任何“缓动”。设置此属性会使速度在一段时间后“平稳”。设置负值将在整个动画持续时间内恢复为正常的缓动模式。
默认值为-1。

reversingMode : enumeration

设置SmoothedAnimation如果动画方向颠倒时的行为。
可能的值为:
SmoothedAnimation.Eased(默认) - 动画将平滑减速,然后反向
SmoothedAnimation.Immediate - 动画将立即开始以相反的方向加速,以0的速度开始
SmoothedAnimation.Sync - 属性立即设置为目标值

velocity : real

此属性保存跟踪“到”值时允许的平均速度。
SmoothedAnimation的默认速度为200单位/秒。
将此设置为-1将禁用速度值。
如果速度值和持续时间值都启用,则动画将使用给定较短持续时间的那个。

功能简述

SmoothedAnimation使用易于输入/输出四缓和曲线动画属性值的一组目标值。当目标值改变时,用于在旧的和新的目标值之间动画化的缓动曲线平滑地拼接在一起,以创建保持当前速度的新目标值的平滑移动。
一个SmoothedAnimation可以通过设置来配置速度在哪些应该发生的动画,或持续时间的动画应该采取。如果指定速度和持续时间,则对目标值中的每个改变选择导致最快动画的那个。

以下示例单击鼠标以后,一个红色的矩形框可以一直跟随鼠标:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import QtQuick 2.0

Rectangle {
width: 300
height: 300

MouseArea {
anchors.fill: parent
onClicked: {
followAnimationy.from=follow.y
followAnimationy.to=mouseY+4
followAnimationy.start()
followAnimationx.from=follow.x
followAnimationx.to=mouseX+4
followAnimationx.start()
}
}

Rectangle{
id:follow
x:0
y:0
width: 100
height: 100
color: "red"
}
SmoothedAnimation{
id:followAnimationy
target: follow
property: "y"
duration: 3000
}
SmoothedAnimation{
id:followAnimationx
target: follow
property: "x"
duration: 3000
}
}
------本文结束    感谢阅读------
你打赏你的,我分享我的!