AnimatedSprite QML Type
スプライトのアニメーションを描画します。もっと詳しく...
| Import Statement: | import QtQuick |
| Inherits: |
プロパティ
- currentFrame : int
- finishBehavior : enumeration
- frameCount : int
- frameDuration : int
- frameHeight : int
- frameRate : real
- frameSync : bool
- frameWidth : int
- frameX : int
- frameY : int
- interpolate : bool
- loops : int
- paused : bool
- reverse : bool
- running : bool
- source : url
信号
- finished()
方法
詳細説明
AnimatedSpriteは、同じ画像ファイル内の複数のフレームとして提供されるアニメーションのレンダリングと制御を提供する。固定速度で再生したり、ディスプレイのフレームレートで再生したり、手動で進めたり、進行を制御したりすることができる。
次のスプライト・シートを考えてみましょう:
![]()
これは4つのフレームに分割できます:
![]()
それぞれのフレームを1フレーム500ミリ秒の速度で再生するには、次のコードを使います:
| コード | 結果 |
|---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 } |
デフォルトでは、アニメーションがより滑らかに見えるように、フレームは補間(ブレンド)されます。これを無効にするには、interpolate をfalse に設定します:
| コード | 結果 |
|---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 interpolate: false } |
|
AnimatedSpriteがスケーリングされたときにどのように反応するかを制御するには、smooth プロパティを使用します。
SpriteSequence とは異なり、AnimatedSprite タイプは、Sprite を使用して複数のアニメーションを定義するのではなく、単一のアニメーション自体をカプセル化することに注意してください。
スプライトのアニメーションも参照してください 。
プロパティのドキュメント
currentFrame : int
一時停止中、このプロパティを設定するか、advance ()を呼び出すことで、現在のフレームを手動で進めることができる。
finishBehavior : enumeration
アニメーションが勝手に終了したときの動作。
| 定数 | 説明 |
|---|---|
FinishAtInitialFrame | アニメーションが終了すると、最初のフレームに戻ります。これはデフォルトの動作です。 |
FinishAtFinalFrame | アニメーションが終了すると、最終フレームに留まります。 |
frameCount : int
このAnimatedSprite のフレーム数。
frameDuration : int
アニメーションの各フレームの継続時間(ミリ秒)。0 以下の値は無効です。
frameRate が有効な場合、フレームの継続時間を計算するために使用されます。そうでなく、frameDuration が有効な場合は、frameDuration が使用されます。
このパラメータを変更すると、アニメーションが再開されます。
frameHeight : int
このAnimatedSprite の1フレームの高さ。
ファイル内の唯一のスプライトの場合は省略可能。
frameRate : real
アニメーションに表示する1秒あたりのフレーム数。0 以下の値は無効です。
frameRate が有効な場合、フレームの持続時間を計算するために使用されます。有効でなく、frameDuration が有効な場合は、frameDuration が使用されます。
このパラメータを変更すると、アニメーションが再開されます。
frameSync : bool
true の場合、アニメーションの継続時間はありません。その代わり、アニメーションはフレームがスクリーンにレンダリングされるたびに1フレーム進みます。これは、経過時間ではなく、ペイントレートに同期します。
frameSync を true に設定すると、frameRate とframeDuration の両方が上書きされます。
デフォルトはfalse です。
このパラメータを変更すると、アニメーションが再開されます。
frameWidth : int
このAnimatedSprite における1フレームの幅。
ファイル内のスプライトがこのスプライトだけである場合は、省略することができます。
frameX : int
AnimatedSprite の最初のフレームの画像ファイル内の X 座標。
最初のフレームがファイルの左上隅から始まる場合は省略してもよい。
frameY : int
AnimatedSprite の最初のフレームの画像ファイル内の Y 座標。
最初のフレームがファイルの左上隅から始まる場合は省略してもよい。
interpolate : bool
trueを指定すると、スプライトフレーム間で補間を行い、アニメーションをより滑らかに見せる。
デフォルトはtrueです。
loops : int
この回数アニメーションを再生すると、アニメーションは自動的に停止します。負の値は無効です。
この値がAnimatedSprite.Infinite に設定されている場合、アニメーションは自動的に停止しません。
デフォルトはAnimatedSprite.Infinite
paused : bool
一時停止中、現在のフレームを手動で進めることができる。
デフォルトはfalse 。
reverse : bool
true の場合、アニメーションは逆再生されます。
デフォルトはfalse 。
running : bool
スプライトがアニメーションするかどうか。
デフォルトはtrue
source : url
アニメーションの画像ソース。
frameHeight とframeWidth が指定されていない場合は、正方形のフレームが一列に並んだものとみなされます。そうでない場合は、複数の連続した行または長方形のフレームにすることができ、1つの行がなくなると次の行が使用されます。
frameX とframeY が指定された場合、その x/y 座標を左上隅とするフレーム行が使われる。
シグナル・ドキュメント
finished()
このシグナルは、スプライトがアニメーションを終了したときに発せられます。
running がfalse に設定されている場合、およびloops プロパティがAnimatedSprite.Infinite に設定されているスプライトでは、このシグナルは発行されません。
注意: 対応するハンドラはonFinished です。
メソッド・ドキュメント
void advance(int frames = 1)
スプライトのアニメーションを指定されたframes だけ進めます。
void pause()
スプライトのアニメーションを一時停止します。paused がtrue の場合は何もしません。
resume()も参照してください 。
void restart()
スプライトのアニメーションを停止し、開始する。
void resume()
paused がtrue の場合、スプライトのアニメーションを再開する。
pause()も参照してください 。
void start()
スプライト・アニメーションを開始する。アニメーションがすでに実行されている場合、このメソッドを呼び出しても効果はありません。
stop()も参照してください 。
void stop()
スプライトのアニメーションを停止する。アニメーションが実行されていない場合、このメソッドを呼び出しても効果はありません。
start()も参照してください 。
© 2026 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.