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ドキュメントでは、アニメーションを作成するための様々な方法を紹介しています。

SpringAnimation,NumberAnimation,Qt Quick におけるアニメーションとトランジション,Qt 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に設定すると、ベロシティ値は無効になります。

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


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