このページでは

C

AnimatedSprite QML Type

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

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

Item

プロパティ

信号

方法

詳細説明

AnimatedSpriteは、1つの画像ファイルに複数のフレームとして提供されるアニメーションをレンダリングし、制御する。固定速度で再生することも、手動で進めて制御することもできる。

次のスプライト・シートを考えてみよう:

これは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 の1フレームの高さを設定する。

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 ライセンスの下で利用可能です。
詳細はこちら。