1
示例代码:QML如何停止过渡动画?
Button{
text: "stop"
onClicked: p1p2Aniamtion.stop();
}
Rectangle {
id: rect
states: [
State {
name: "p1"
PropertyChanges {target: rect; x: 0; y: 0}
},
State {
name: "p2"
PropertyChanges {target: rect; x: 500; y: 0}
}
]
transitions: [
Transition {
from: "p1"; to: "p2"; reversible: true
NumberAnimation{ property: "x"; duration: 5000}
}
]
}
在这里,我有一个矩形,并使其从点p1
移动到另一个点p2
, 如果按钮点击,我想的过渡力动画停止。
我试图阻止NumberAnimation
,但看起来NumberAnimation
绑定Transition
,所以无论如何控制动画?
谢谢!很好的答案。 另一个问题:我添加动画恢复(例如:暂停⇒p1),如果我恢复动画,持续时间需要重新计算。 – Jiu
这应该很容易。你有起点(x:0)终点(x:500)和你当前的位置。所以你计算你到目前为止的移动百分比(pos - start)/(end - start),并用你的持续时间乘以它。 (没有测试,但不知怎的,这应该工作...) – derM