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 を使用して複数のアニメーションを定義するのではなく、単一のアニメーション自体をカプセル化することに注意してください。
スプライトのアニメーションも参照してください 。
プロパティ・ドキュメント
finishBehavior : enumeration |
アニメーションが勝手に終了したときの動作。
定数 | 説明 |
---|---|
FinishAtInitialFrame | アニメーションが終了すると、最初のフレームに戻ります。これはデフォルトの動作です。 |
FinishAtFinalFrame | アニメーションが終了すると、最終フレームに留まります。 |
frameCount : int |
このAnimatedSprite のフレーム数。
frameDuration : int |
アニメーションの各フレームの継続時間(ミリ秒)。0
以下の値は無効です。
frameRate が有効な場合、フレームの持続時間の計算に使用されます。そうでなく、frameDuration が有効な場合は、frameDuration
が使用されます。
このパラメータを変更すると、アニメーションが再開されます。
frameHeight : int |
このAnimatedSprite の単一フレームの高さ。
ファイル内の唯一のスプライトの場合は省略できます。
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つの行がなくなると、次の行が使用されます。
シグナル・ドキュメント
finished() |
このシグナルはスプライトのアニメーションが終了したときに発せられます。
running がfalse
に設定されているときや、loops プロパティがAnimatedSprite.Infinite
に設定されているスプライトでは発せられません。
注意: 対応するハンドラはonFinished
です。
メソッドの説明
int advance() |
スプライトのアニメーションを1フレーム進めます。
int restart() |
スプライトアニメーションを停止し、開始します。
start() |
スプライトアニメーションを開始します。アニメーションがすでに実行されている場合、このメソッドを呼び出しても効果はありません。
stop()も参照して ください。
stop() |
スプライトアニメーションを停止します。アニメーションが実行中でない場合、このメソッドを呼んでも効果はありません。
start() も参照して ください。
© 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.