LottieAnimation QML Type
Qt 用 Lottie プレイヤー。詳細...
Import Statement: | import Qt.labs.lottieqt 1.0 |
Inherits: |
プロパティ
- autoPlay : bool
- direction : enumeration
- endFrame : int
- frameRate : int
- loops : int
- quality : enumeration
- source : url
- startFrame : int
- status : enumeration
信号
- finished()
方法
- double getDuration(bool inFrames)
- void gotoAndPlay(int frame)
- bool gotoAndPlay(string frameMarker)
- void gotoAndStop(int frame)
- bool gotoAndStop(string frameMarker)
- void pause()
- void play()
- void start()
- void stop()
- void togglePause()
詳細説明
LottieAnimationタイプは、Lottie形式のファイルを表示します。
LottieAnimationは、Adobe After EffectsからエクスポートされたLottieファイルを読み込んでレンダリングするために使用されます。現在、Lottieの仕様の一部のみがサポートされています。主な相違点は以下の通りです:
- シェイプレイヤーのみサポート
- タイムラインの整数フレームモードのみサポート(実フレーム番号と時間は最も近い整数に丸められます)
- 式はサポートされていません。
制限の全リストは、制限のセクションを参照してください。
使用例
次の例は、LottieAnimation型の簡単な使い方です。
LottieAnimation { loops: 2 quality: LottieAnimation.MediumQuality source: "animation.json" autoPlay: false onStatusChanged: { if (status === LottieAnimation.Ready) { // any acvities needed before // playing starts go here gotoAndPlay(startFrame); } } onFinished: { console.log("Finished playing") } }
注意: 要素の幅や高さを変更しても、中のアニメーションのサイズは変わりません。また、LottieAnimation
要素内のコンテンツを整列させることはできません。これを実現するには、アニメーションをItem
などの内側に配置してください。
レンダリングのパフォーマンス
内部的には、レンダリングされたフレームデータはパフォーマンスを向上させるためにキャッシュされます。QLOTTIE_RENDER_CACHE_SIZE環境変数(デフォルト値は2)を設定することで、メモリ使用量を制御できます。
2つのロギングカテゴリをオンにすることで、レンダリングパフォーマンスを監視できます:
qt.lottieqt.lottie.render
- アニメーションがどのようにレンダリングされるかの情報を提供します。qt.lottieqt.lottie.render.thread
- レンダリングプロセスがどのように進行しているかの情報を提供します。
具体的には、フレームキャッシュが常に一杯になるか、レンダリングプロセスがフレームの準備ができるまで待たなければならないかを監視できます。最初のケースは、アニメーションが複雑すぎて、レンダリングがペースについていけないことを意味します。アニメーションをもっとシンプルにするか、QMLシーンを最適化してみてください。
プロパティ ドキュメント
autoPlay : bool |
アニメーションファイルがロードされた後、プレーヤーが自動的にアニメーションの再生を開始するかどうかを定義します。
デフォルト値はtrue
です。
direction : enumeration |
このプロパティは、レンダリングの方向を保持します。
定数 | 説明 |
---|---|
LottieAnimation.Forward | 順方向 (デフォルト) |
LottieAnimation.Reverse | 逆方向 |
endFrame : int |
アニメーションの終了フレーム番号。この値は、アニメーションがロードされ、再生準備が整った後に利用可能です。
frameRate : int |
このプロパティは、Lottie アニメーションのフレームレート値を保持します。
frameRate
アセットがロードされた後に変更されます。アセットで定義された値が優先されるため、それ以前にフレームレートを変更しても効果はありません。フレームレートを変更するには、次のように記述します:
LottieAnimation { source: "animation.json" onStatusChanged: { if (status === LottieAnimation.Ready) frameRate = 60; }
loops : int |
このプロパティは、プレーヤーが繰り返すループの回数を保持します。値LottieAnimation.Infinite
は、プレーヤーがアニメーションを連続して繰り返すことを意味します。
デフォルト値は1
です。
quality : enumeration |
Speficies ロッティ・プレーヤーのレンダリング品質を設定します。LowQuality
が選択された場合、レンダリングはフレームバッファオブジェクトに行われます。一方、他のオプションでは、レンダリングはQImage
に行われます(これは、スクリーン上にレンダリングされます)。
定数 | 説明 |
---|---|
LottieAnimation.LowQuality | アンチエイリアシングまたはスムーズピックスマップ変換アルゴリズムは使用されません。 |
LottieAnimation.MediumQuality | スムーズなピクセルマップ変換アルゴリズムが使用されるが、アンチエイリアスは使用されない(デフォルト) |
LottieAnimation.HighQuality | アンチエイリアスと滑らかなピクセルマップ変換アルゴリズムの両方が使用されます。 |
source : url |
LottieAnimation が再生する Lottie アセットのソース。
LottieAnimation は、Qt がサポートする URL スキームであれば何でも扱えます。URL は、絶対 URL でも、コンポーネントの URL からの相対 URL でもかまいません。
source プロパティを設定すると、アニメーションの読み込みが非同期で開始されます。読み込みの進行状況を監視するには、status の変更シグナルに接続します。
startFrame : int |
アニメーションの開始フレーム番号。この値は、アニメーションがロードされ、再生準備が完了した後に使用できます。
status : enumeration |
このプロパティは、LottieAnimation 要素の現在の状態を保持します。
定数 | 説明 |
---|---|
LottieAnimation.Null | ソースが定義されていない場合に使用される初期値です。 |
LottieAnimation.Loading | プレーヤーは Lottie ファイルをロード中です。 |
LottieAnimation.Ready | 読み込みが正常に終了し、プレーヤがアニメーションを再生する準備ができました。 |
LottieAnimation.Error | アニメーションのロード中にエラーが発生した |
たとえば、アニメーションのロードの進行状況を監視するために、onStatusChanged
シグナルハンドラを次のように実装できます:
LottieAnimation { source: "animation.json" autoPlay: false onStatusChanged: { if (status === LottieAnimation.Ready) start(); }
シグナルの説明
finished() |
このシグナルは、プレーヤが再生を終了したときに発行されます。ループの場合は、最後のループが終了したときにシグナルが発行されます。
注: 対応するハンドラはonFinished
です。
メソッドの説明
現在再生中のアセットの再生時間を返します。
指定されたinFrames がtrue
の場合、フレーム数で継続時間を返します。それ以外の場合は、秒単位で継続時間を返します。
void gotoAndPlay(int frame) |
与えられたframe からアセットを再生します。
与えられたframeMarker のマーカーを持つフレームからアセットを再生します。frameMarker が見つかった場合はtrue
を、そうでない場合はfalse
を返します。
void gotoAndStop(int frame) |
与えられたframe に再生ヘッドを移動して停止します。
指定されたマーカーに再生ヘッドを移動し、停止します。frameMarker が見つかった場合はtrue
を返し、そうでない場合はfalse
を返す。
void pause() |
再生を一時停止する。
void play() |
現在の位置から再生を開始または継続します。
void start() |
アニメーションを最初から再生します。
void stop() |
再生を停止し、startFrame に戻ります。
void togglePause() |
再生状態と一時停止状態の間でプレーヤーのステータスを切り替えます。
© 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.