当前位置:   article > 正文

Roson的Qt之旅#52 QML弹簧动画(SpringAnimation)_qt 弹簧动画

qt 弹簧动画

1.继承关系

父类:NumberAnimation

子类:无

2.详细描述

SpringAnimation模仿弹簧的振荡行为,用适当的弹簧常数来控制加速度,用阻尼来控制效果消失的速度。
你也可以限制动画的最大速度。
当单击鼠标时,使用SpringAnimation将下列矩形移动到鼠标的位置。对x和y值的行为的使用表明,无论何时这些值被更改,都应该应用SpringAnimation。

  1. import QtQuick 2.9
  2. import QtQuick.Window 2.2
  3. import QtQuick.Controls 2.2
  4. Window {
  5. visible: true
  6. width: 1000
  7. height: 700
  8. title: qsTr("Hello World")
  9. Item {
  10. width: 300; height: 300
  11. Rectangle {
  12. id: rect
  13. width: 50; height: 50
  14. color: "red"
  15. Behavior on x { SpringAnimation { spring: 2; damping: 0.2 } }
  16. Behavior on y { SpringAnimation { spring: 2; damping: 0.2 } }
  17. }
  18. MouseArea {
  19. anchors.fill: parent
  20. onClicked: {
  21. rect.x = mouse.x - rect.width/2
  22. rect.y = mouse.y - rect.height/2
  23. }
  24. }
  25. }
  26. }

与任何其他动画类型一样,SpringAnimation可以通过多种方式应用,包括转换、行为和属性值源。Qt Quick文档中的动画和过渡显示了创建动画的各种方法。
想要了解更多信息,请查阅SmoothedAnimation, Animation and Transitions in Qt Quick, Qt Quick Examples - Animation, and Qt Quick Demo - Clocks.

3.数据成员

damping : real

这个属性保持弹簧阻尼值。
这个值描述了弹簧运动静止的速度。默认值为0。
有用的取值范围是0 - 1.0。这个值越低,它就会越快地停止。

epsilon : real

这个性质适用于弹簧。
是这个值的变化率和变化量,这个值非常接近于0,可以认为等于0。这将取决于值的使用。对于像素位置,0.25就足够了。对于比例,0.005就足够了。
默认值为0.01。调优这个值可以提供很小的性能改进。

mass : real

这个属性持有被移动属性的“质量”。
默认值为1.0。
当物体静止时,质量越大运动越慢,就会产生更大的弹簧式运动。

modulus : real

此属性保存模量值。默认值为0。
设置模数将迫使目标值在模数处“绕圈”。例如,将模数设置为360将使370的值环绕为10。

spring : real

此属性描述目标被拉向源的强度。默认值为0(即禁用类似弹簧的运动)。
有用的值范围是0 - 5.0。
当设置了此属性且速度值大于0时,速度将限制最大速度。

velocity : real

这个属性保持了跟踪源时所允许的最大速度。
默认值是0(没有最大速度)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/334809
推荐阅读
相关标签
  

闽ICP备14008679号