Webでアニメーションgifにするような部品を作るときに使用する機能です。
Qt Quick2.0からの新機能です。
「SpriteSequence」と「SpriteImage」と「Sprite」エレメントを使用します。
なんか気がついたらエレメント名が変わってました・・・。
/// ポイント ///
・用意する画像は横方向に同じサイズの画像を1枚に並べる
・SpriteSequenceSpriteImageには複数のSpriteを登録しておいて状態に応じて切り替えが可能
・フレームの更新間隔の決定優先度
frameRate > frameDuration > duration
・フレームサイズ(frameWidth, frameHeight)は1フレームごとのサイズ
(画像全体のサイズではない)
・frameDurationVariationなど~Variationで更新間隔などに揺らぎを与えれる
・「reverse」でアニメーションの順番を逆順にできる
Qt Quick2.0からの新機能です。
「SpriteSequence」と
なんか気がついたらエレメント名が変わってました・・・。
/// ポイント ///
・用意する画像は横方向に同じサイズの画像を1枚に並べる
・SpriteSequence
・フレームの更新間隔の決定優先度
frameRate > frameDuration > duration
・フレームサイズ(frameWidth, frameHeight)は1フレームごとのサイズ
(画像全体のサイズではない)
・frameDurationVariationなど~Variationで更新間隔などに揺らぎを与えれる
・「reverse」でアニメーションの順番を逆順にできる
/// サンプル ///
クリックするとスプライトを入れ替えます。
分かってないこと
・複数登録した「Sprite」を順番に再生できないのか
・「goalSprite」プロパティって結局なに?
説明には現在アニメーションしているスプライトの名前って書いてあるが・・・。
読んでも空っぽ
<Category : Qt>
クリックするとスプライトを入れ替えます。
import QtQuick 2.0 Rectangle { width: 200 height: 344 property int spriteNo: 1 SpriteSequence{ id: _anime anchors.fill: parent running: true interpolate: true sprites: [ Sprite{ name: "first" frameWidth: 200 frameHeight: 344 frameX: 0 frameY: 0 frameDuration: 100 frameCount: 7 source: "images/boalsprite_red.png" }, Sprite{ name: "second" frameWidth: 200 frameHeight: 344 frameX: 0 frameY: 0 frameDuration: 100 frameCount: 7 source: "images/boalsprite_blue.png" } ] } MouseArea { anchors.fill: parent onClicked: { //spriteを入れ替える if(spriteNo === 1){ _anime.jumpTo("second"); spriteNo = 2; }else{ _anime.jumpTo("first"); spriteNo = 1; } } } }
分かってないこと
・複数登録した「Sprite」を順番に再生できないのか
・「goalSprite」プロパティって結局なに?
説明には現在アニメーションしているスプライトの名前って書いてあるが・・・。
読んでも空っぽ