このページでは

C

AnimatedSprite QML Type

スプライトのアニメーションを描画します。詳細...

Import Statement: import QtQuick
Since: Qt Quick Ultralite 2.3
Inherits:

Item

プロパティ

シグナル

方法

詳細説明

AnimatedSpriteは、1つの画像ファイル内に複数のフレームとして用意されたアニメーションをレンダリングし、制御します。アニメーションは、固定速度で再生することも、手動でフレームを進めながら進行状況を制御することも可能です。

次のスプライトシートを考えてみましょう:

ロードアニメーションを、1本の横長のフレームの帯としてまとめたスプライトシート。

これは4つのフレームに分割できます:

読み込まれたスプライトシートは、4つの個別のフレームに分割されています。

以下のコードを使用すると、各フレームを1フレームあたり500ミリ秒の速度で再生できます:

コード結果
import QtQuick 2.15

AnimatedSprite {
    source: "loading.png"
    frameWidth: 64
    frameHeight: 64
    frameCount: 4
    frameDuration: 500
}

プロパティのドキュメント

currentFrame : int

アニメーションが一時停止しているときに、現在のフレームを手動で進めるには、このプロパティを設定します。また、advance() メソッドを呼び出すこともできます。

frameCount : int

AnimatedSprite 内のフレーム数を示します。

frameDuration : int

アニメーションの各フレームの持続時間(ミリ秒単位)。正の値のみ有効です。

アニメーションの実行中にこのプロパティを変更すると、アニメーションが再開始されます。

frameHeight : int

AnimatedSprite で、単一フレームの高さを設定します。

frameWidth : int

AnimatedSprite で、1つのフレームの幅を設定します。

loops : int

アニメーションをこの回数再生すると、アニメーションは自動的に停止します。有効なのは正の値のみです。

アニメーションを無限に再生するには、AnimatedSprite.Infinite に設定してください。

デフォルトはAnimatedSprite.Infinite です。

paused : bool [since Qt Quick Ultralite 2.5]

アニメーションが一時停止中かどうかを示します。

アニメーションが一時停止している場合、現在のフレームを手動で進めることができます。

デフォルトはfalse

このプロパティは、Qt Quick Ultralite 2.5で導入されました。

running : bool

アニメーションが再生中かどうかを示します。

デフォルトはtrue

source : string

アニメーションの画像ソース。

ImageFiles.MCU.resourceAnimatedSpriteFrameWidthおよびImageFiles.MCU.resourceAnimatedSpriteFrameHeightを使用して画像ソースのフレームサイズを指定することで、画像をフレームシーケンスに分割し、共通部分を共有することでリソースの最適化が可能になります。

リソースの管理も参照してください

シグナルのドキュメント

void finished()

このシグナルは、スプライトのアニメーションが完了したときに発火します。

running プロパティがfalse に設定されているか、loops プロパティがAnimatedSprite.Infinite に設定されている場合は、このシグナルは発火しません。

注: 対応するハンドラは onFinished です。

メソッドのドキュメント

void advance()

スプライトのアニメーションを1フレーム分進めます。

[since Qt Quick Ultralite 2.5] void pause()

スプライトのアニメーションを一時停止します。pausedtrue に設定されている場合、この処理は何も行いません。

このメソッドは、Qt Quick Ultralite 2.5 で導入されました。

void restart()

スプライトのアニメーションを再開します。

[since Qt Quick Ultralite 2.5] void resume()

pausedtrue の場合、スプライトのアニメーションを再開します。それ以外の場合は、何もしません。

このメソッドは、Qt Quick Ultralite 2.5 で導入されました。

void start()

スプライトのアニメーションを開始します。アニメーションがすでに実行中の場合、このメソッドを呼び出しても何の効果もありません。

void stop()

スプライトのアニメーションを停止します。アニメーションが実行されていない場合、このメソッドを呼び出しても何の効果もありません。

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。