C
Animation QML Type
すべての QML アニメーションの基本です。詳細...
| Import Statement: | import QtQuick |
| Since: | Qt Quick Ultralite 1.0 |
| Inherited By: | ParallelAnimation, PauseAnimation, PropertyAnimation, ScriptAction, and SequentialAnimation |
プロパティ
- alwaysRunToEnd : bool
- loops : int
- running : bool
信号
- finished()
(since Qt Quick Ultralite 1.1) - started()
(since Qt Quick Ultralite 1.1) - stopped()
(since Qt Quick Ultralite 1.1)
方法
詳細説明
Animation型はQMLファイルの中で直接使用することはできません。Animation型は共通のプロパティとメソッドを提供するために存在し、それを継承した他のすべてのAnimation型で利用可能です。Animation型を直接使おうとするとエラーになります。
Statesとtransitionも参照してください 。
プロパティ Documentation
alwaysRunToEnd : bool |
このプロパティは、アニメーションが停止したときに完了まで実行するかどうかを保持します。
このプロパティがtrueの場合、アニメーションは、running プロパティをfalseに設定するか、stop() メソッドを呼び出すことで、停止時に現在の反復を完了します。complete() メソッドはこの値の影響を受けません。
この動作は、loops プロパティが設定されている場合に最も有用で、アニメーションは正常に再生を終了しますが、再起動はしません。
デフォルトでは、alwaysRunToEnd プロパティは設定されていません。
注意: alwaysRunToEnd は、Transition 内のアニメーションには影響しません。
loops : int |
このプロパティは、アニメーションの再生回数を保持します。
デフォルトでは、loops は 1 です。アニメーションは一度再生された後、停止します。
Animation.Infiniteまたは負の値に設定すると、アニメーションは明示的に停止されるまで(running プロパティをfalseに設定するか、stop() メソッドを呼び出すか)、継続的に繰り返されます。
次の例では、矩形は無期限に回転します。
Rectangle { width: 100; height: 100; color: "green" RotationAnimation on rotation { loops: Animation.Infinite from: 0 to: 360 } }
running : bool |
このプロパティは、アニメーションが現在実行中かどうかを保持します。
running プロパティを設定することで、アニメーションが実行中かどうかを宣言的に制御できます。次の例では、MouseArea が押されるたびに矩形がアニメーションします。
Rectangle { width: 100; height: 100 NumberAnimation on x { running: myMouse.pressed from: 0; to: 100 } MouseArea { id: myMouse } }
同様に、running プロパティを読み込んで、アニメーションが実行中かどうかを判断することもできます。次の例では、アニメーションが実行されているかどうかを Text 項目で示します。
NumberAnimation { id: myAnimation }
Text { text: myAnimation.running ? "Animation is running" : "Animation is not running" }アニメーションは、start() とstop() メソッドを使って、JavaScript から命令的に開始したり停止したりすることもできます。
デフォルトでは、アニメーションは実行されていません。ただし、on構文を使用してプロパティ値ソースとしてアニメーションがプロパティに割り当てられている場合、デフォルトでアニメーションが実行されているように設定されます。
シグナル・ドキュメント
|
このシグナルは、アニメーションが自然に終了したときに発せられる。
running がfalse に設定されているときや、loops プロパティがAnimation.Infinite に設定されているアニメーションでは発せられません。
また、このシグナルはトップレベルのスタンドアロン・アニメーションに対してのみ発せられます。ビヘイビア(Behavior)やトランジション(Transition)内のアニメーションや、アニメーショングループの一部であるアニメーションでは、このシグナルは発せられません。
alwaysRunToEnd が true の場合、アニメーションが現在のイテレーションを完了するまで、このシグナルは発行されません。
注: 対応するハンドラはonFinished です。
このシグナルはQt Quick Ultralite 1.1 で導入されました。
|
このシグナルはアニメーションの開始時に発せられる。
このシグナルは、トップレベルのスタンドアロン・アニメーションに対してのみトリガーされます。ビヘイビアやトランジションのアニメーション、アニメーショングループのアニメーションではトリガーされません。
注: 対応するハンドラはonStarted です。
このシグナルはQt Quick Ultralite 1.1 で導入されました。
|
このシグナルはアニメーションが終了したときに発せられる。
アニメーションは手動で停止されたかもしれないし、完了まで実行されたかもしれない。
このシグナルがトリガーされるのは、トップレベルのスタンドアロン・アニメーションのみです。ビヘイビアやトランジションのアニメーション、アニメーショングループのアニメーションではトリガーされません。
alwaysRunToEnd が true の場合、アニメーションが現在のイテレーションを完了するまで、このシグナルは発生しません。
注: 対応するハンドラはonStopped です。
このシグナルはQt Quick Ultralite 1.1 で導入されました。
メソッドの説明
start() |
アニメーションを開始します。
アニメーションがすでに実行されている場合、このメソッドを呼び出しても効果はありません。start() を呼び出すと、running プロパティは真になります。
stop() |
アニメーションを停止する
アニメーションが実行されていない場合、このメソッドを呼び出しても効果はありません。stop() を呼び出すと、running とpaused の両プロパティは false になります。
通常、stop() はアニメーションを即座に停止し、アニメーションはプロパティ値にそれ以上影響を与えません。この例では
Rectangle { NumberAnimation on x { from: 0; to: 100; duration: 500 } }
が時間 250ms で停止した場合、x プロパティの値は 50 になります。
しかし、alwaysRunToEnd プロパティが設定されている場合、アニメーションは完了するまで実行され続け、その後停止します。この場合でも、running プロパティはすぐに false になります。
特定の Qt ライセンスの下で利用可能です。
詳細はこちら。