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}
}
]
}
私は四角形を持って、それがボタンをクリックすると、私は遷移力のアニメーションを停止したい 、p2
をポイントツーポイントp1
から移動します。
私はNumberAnimation
を停止しようとしましたが、NumberAnimation
はTransition
と結びついていますので、とにかくアニメーションを制御しますか?
をonClicked!素晴らしい答え。 もう1つの問題:アニメーションを再開するためにアニメーションを追加します(例:pause⇒p1)。アニメーションを再開すると、再生時間を再計算する必要があります。 – Jiu
これは簡単です。あなたは開始点(x:0)と終了点(x:500)とあなたの現在の位置を持っています。したがって、これまでの動きの割合(pos-start)/(end-start)を計算し、それをあなたの持続時間と乗算します。 (テストされていませんが、どういうわけか、これはうまくいくはずです...) – derM