SpringAnimation QML Type

プロパティがバネのような動きで値を追跡できるようにします。詳細...

Import Statement: import QtQuick
Inherits:

NumberAnimation

プロパティ

詳細説明

SpringAnimationは、スプリングの振動動作を模倣します。適切なspring 定数で加速度を制御し、damping で効果が消えるまでの時間を制御します。

また、アニメーションの最大velocity を制限することもできます。

次のRectangle は、マウスがクリックされると、SpringAnimationを使ってマウスの位置に移動します。xy の値に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はトランジション、ビヘイビア、プロパティ値のソースなど、様々な方法で適用できます。Animation and Transitions in Qt Quickドキュメントでは、アニメーションを作成するための様々な方法を紹介しています。

SmoothedAnimationAnimation and Transitions in Qt QuickQt Quick Examples - AnimationQt Quick Demo - Clocksも参照してください

プロパティの説明

damping : real

このプロパティは、スプリングの減衰値を保持します。

この値は、バネのような動きがどれくらい早く静止するかを表します。デフォルト値は 0 です。

有効な値の範囲は 0 - 1.0 です。値が小さいほど、静止するのが速くなります。


epsilon : real

このプロパティはバネのイプシロンを保持します。

イプシロンは、0に等しいとみなされるほど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(最大速度なし)です。


本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。