SpringAnimation QML Type
プロパティがバネのような動きで値を追跡できるようにします。詳細...
| Import Statement: | import QtQuick |
| Inherits: |
プロパティ
詳細な説明
SpringAnimationは、バネの振動挙動を模倣するアニメーションです。適切なspring 定数で加速度を制御し、damping でエフェクトが消える速度を制御します。
また、アニメーションの最大velocity に制限を設けることも可能です。
以下のRectangle は、マウスがクリックされたときにSpringAnimationを使用してマウスの位置に移動します。x およびy の値に対するBehavior の使用は、これらの値が変更されるたびにSpringAnimationを適用すべきであることを示しています。
import QtQuick
Item {
width: 300; height: 300
Rectangle {
id: rect
width: 50; height: 50
color: "red"
Behavior on x { SpringAnimation { spring: 2; damping: 0.2 } }
Behavior on y { SpringAnimation { spring: 2; damping: 0.2 } }
}
MouseArea {
anchors.fill: parent
onClicked: (mouse)=> {
rect.x = mouse.x - rect.width/2
rect.y = mouse.y - rect.height/2
}
}
}他のアニメーションタイプと同様に、SpringAnimationは、トランジション、ビヘイビア、プロパティ値ソースなど、さまざまな方法で適用できます。『Qt Quick 』の「アニメーションとトランジション」のドキュメントでは、アニメーションを作成するためのさまざまな方法が紹介されています。
関連項目: SmoothedAnimation 、 Qt Quick の「Animation and Transitions」、Qt Quick の「Examples - Animation」、およびQt Quick の「Demo - Clocks」も参照してください 。
プロパティのドキュメント
damping : real
このプロパティには、スプリングの減衰値が格納されます。
この値は、ばねのような動きがどれくらいの速さで静止状態に達するかを表します。デフォルト値は 0 です。
有効な値の範囲は 0 ~ 1.0 です。値が小さいほど、動きが静止するまでの時間が短くなります。
epsilon : real
このプロパティには、スプリングのイプシロンが格納されます。
イプシロンとは、値の変化率および変化量であり、0に十分近いため、実質的にゼロと見なされます。これは値の使用方法によって異なります。ピクセル位置の場合は 0.25 で十分です。スケールの場合は 0.005 で十分です。
デフォルト値は 0.01 です。この値を調整することで、わずかながらパフォーマンスの向上が期待できます。
mass : real
このプロパティには、移動されるプロパティの「質量」が格納されます。
デフォルトの値は 1.0 です。
質量が大きいほど、移動速度は遅くなり、アイテムが静止した際のバネのような動きも大きくなります。
modulus : real
このプロパティはモジュラス値を保持します。デフォルト値は 0 です。
modulus を設定すると、ターゲット値はモジュラスで「ラップアラウンド」するようになります。たとえば、モジュラスを360に設定すると、値370は10にラップアラウンドします。
spring : real
このプロパティは、ターゲットがソースに向かってどれほど強く引き寄せられるかを指定します。デフォルト値は 0 です(つまり、バネのような動きは無効になっています)。
有効な値の範囲は 0 ~ 5.0 です。
このプロパティが設定されており、かつ「velocity 」の値が0より大きい場合、「velocity 」によって最大速度が制限されます。
velocity : real
このプロパティは、音源を追跡する際に許容される最大速度を保持します。
デフォルト値は 0(最大速度なし)です。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.