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