SmoothedAnimation QML Type

プロパティが値をスムーズに追跡できるようにします。詳細...

Import Statement: import QtQuick
Inherits:

NumberAnimation

プロパティ

詳細説明

SmoothedAnimationは、イーズイン/アウトの4次イージングカーブを使用して、プロパティの値を設定されたターゲット値にアニメートします。ターゲット値が変更されると、古いターゲット値と新しいターゲット値の間のアニメーションに使用されるイージングカーブが滑らかにつなぎ合わされ、現在の速度を維持したまま新しいターゲット値への滑らかな動きを作成します。

次の例は、SmoothedAnimationを使用して、1つのRectangle 、もう1つの位置をトラッキングしています。緑色の長方形のxy の値は、赤色の長方形の値にバインドされています。これらの値が変化するたびに、緑の長方形は新しい位置にスムーズにアニメーションします:

import QtQuick

Rectangle {
    width: 800; height: 600
    color: "blue"

    Rectangle {
        width: 60; height: 60
        x: rect1.x - 5; y: rect1.y - 5
        color: "green"

        Behavior on x { SmoothedAnimation { velocity: 200 } }
        Behavior on y { SmoothedAnimation { velocity: 200 } }
    }

    Rectangle {
        id: rect1
        width: 50; height: 50
        color: "red"
    }

    focus: true
    Keys.onRightPressed: rect1.x = rect1.x + 100
    Keys.onLeftPressed: rect1.x = rect1.x - 100
    Keys.onUpPressed: rect1.y = rect1.y - 100
    Keys.onDownPressed: rect1.y = rect1.y + 100
}

SmoothedAnimationは、アニメーションが発生するvelocity 、またはアニメーションがかかるduration を設定することで構成できます。velocityduration の両方が指定された場合、ターゲット値の各変化に対して、アニメーションが最も速くなる方が選択されます。

例えば、0から800へのアニメーションは、200の速度が設定されている場合は4秒かかり、8000のデュレーションが設定されている場合は8秒かかり、200の速度と8000のデュレーションの両方が設定されている場合は4秒かかります。0から20000までのアニメーションは、ベロシティを200に設定すると10秒かかり、デュレーションを8000に設定すると8秒かかり、ベロシティを200とデュレーションを8000の両方に設定すると8秒かかります。

SmoothedAnimationのデフォルトのベロシティは200ユニット/秒です。アニメートされる値の範囲が小さい場合は、ベロシティを適切に調整する必要があることに注意してください。例えば、アイテムの不透明度の範囲は0〜1.0です。この範囲でスムーズなアニメーションを行うには、ベロシティを0.5単位/秒などに設定する必要があります。0.5のベロシティで0から1.0までアニメーションさせると、2000ミリ秒かかります。

他のアニメーションタイプと同様に、SmoothedAnimationは、トランジション、ビヘイビア、プロパティ値のソースなど、さまざまな方法で適用できます。 Qt Quick の「 Animation and Transitions」ドキュメントでは、アニメーションを作成するためのさまざまな方法を紹介しています。

SpringAnimationNumberAnimation Qt Quick の Animation and TransitionsQt Quick Examples - Animationも参照してください

プロパティの説明

duration : int

このプロパティは、ソースをトラッキングするときに使用されるアニメーションの継続時間をミリ秒単位で保持します。

これを-1(デフォルト)に設定すると、デュレーション値が無効になります。

velocity 値と duration 値の両方が有効な場合、アニメーションは、より短い duration を与える方を使用します。


maximumEasingTime : int

このプロパティは、フォロー中の「イーズ」が取るべき最大時間を、ミリ秒単位で指定します。このプロパティを設定すると、ベロシティが "平準化 "されます。負の値を設定すると、アニメーションの継続時間全体にわたってイージングする通常のモードに戻ります。

デフォルト値は -1 です。


reversingMode : enumeration

アニメーションの方向が逆になった場合のSmoothedAnimation の動作を設定します。

設定可能な値は次のとおりです:

定数説明
SmoothedAnimation.Eased(デフォルト) アニメーションは滑らかに減速し、次に方向を反転します。
SmoothedAnimation.Immediateアニメーションはすぐに逆方向に加速し、速度 0 から始まります。
SmoothedAnimation.Syncこのプロパティは直ちにターゲット値に設定されます。

velocity : real

このプロパティは、'to' 値をトラッキングするときに許容される平均速度を保持します。

SmoothedAnimation のデフォルトの速度は 200 単位/秒です。

これを-1に設定すると、ベロシティ値は無効になります。

ベロシティ値とデュレーション値の両方が有効な場合、アニメーションは短い方のデュレーションを使用します。


© 2025 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.