このページでは

C

AnimatedSpriteDirectory QML Type

ディレクトリに保存されているスプライトアニメーションを描画します。詳細...

Import Statement: import QtQuickUltralite.Extras 2.12
Since: Qt Quick Ultralite 2.4
Inherits:

Item

プロパティ

シグナル

方法

詳細な説明

AnimatedSpriteDirectory 型は、AnimatedSprite と同様に動作しますが、スプライトアニメーション用の画像を取得するという点が異なります。sourcePath の値として、一連の画像が含まれるディレクトリパスを指定する必要があります。これらの画像はスプライトアニメーションのフレームであり、AnimatedSpriteDirectoryAnimatedSprite と同様に各画像を再生します。

アニメーションフレームの順序は、ImageFilesノード内の画像のリスト順に従います。これらの画像ファイルにImageFiles.MCU.resourceAnimatedSpriteというタグを付けることで、Qt Quick のUltralite Toolsがそれらをスプライトアニメーションのフレーム候補として確実に識別できるようになります。また、これらの画像にタグを付けることで、ディレクトリ名の識別や各画像の正しいレンダリングも可能になります。

QMLQMLプロジェクトにおける画像の宣言
import QtQuickUltralite.Extras

AnimatedSpriteDirectory {
    sourcePath: "loading"
}
    ImageFiles {
        files: [
            "loading/01.png",
            "loading/02.png",
            "loading/03.png",
            "loading/04.png"
        ]
        MCU.resourceAnimatedSprite: true
    }

AnimatedSprite とは異なり、AnimatedSpriteDirectory にはframeCountframeWidthframeHeight プロパティがありません。これらの値は、指定されたディレクトリ内の画像から取得されます。ディレクトリ内の画像数はframeCount として、それらの画像の幅と高さはそれぞれframeWidth およびframeHeight として扱われます。

注:すべての画像 の幅と高さは同じである必要があります。そうでない場合、Resource Compiler(qulrcc ツール)は生の画像データを生成できません。

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

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

currentFrame : int

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

frameDuration : int

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

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

loops : int

アニメーションを再生する回数を指定します。正の値のみ有効です。

アニメーションを無限に再生するには、AnimatedSpriteDirectory.Infinite に設定します。

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

paused : bool

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

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

デフォルトはfalse

running : bool

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

デフォルトはtrue です。

sourcePath : string

スプライトアニメーション用の画像が格納されているディレクトリへのパスです。ImageFilesノードで、ImageFiles.MCU.resourceAnimatedSpriteプロパティtrue に設定することで、パス内の画像にタグを付けます。

注: 画像にタグを付けない場合、指定された `sourcePath ` は 無効となります。

シグナルに関するドキュメント

void finished()

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

running プロパティをfalse に設定した場合、またはloops プロパティをAnimatedSpriteDirectory.Infinite に設定した場合は、このシグナルは発火しません。

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

メソッドのドキュメント

void advance()

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

void pause()

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

void restart()

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

void resume()

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

void start()

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

void stop()

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

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