Я создал SpriteSequence, который всегда показывает только ПЕРВЫЙ спрайт, а jumpTo не имеет никакого эффекта (показан только первый спрайт). Каждый спрайт был добавлен непосредственно в SpriteSequence. (Не для кода ниже)
После проверки документации QML он говорит, что спрайты должны быть перечислены в ключе «спрайты» в виде списка. Итак, я изменил свой код, как показано ниже, но теперь НЕТ изображения.
Прежде всего, какой синтаксис правильный? Примеры QML никогда не используют «спрайты:» ... но они говорят использовать его. Может ли кто-нибудь объяснить, что правильно и почему ни один из синтаксисов не дает ожидаемого результата.
SpriteSequence {
id: birdImage
anchors.centerIn: parent
interpolate: true
visible: true
sprites: [
Sprite {
name: "standing-right"
frameWidth: 100
frameHeight: 68
frameCount: 1
source: "bird-standing-right.png"
frameRate: 1
},
Sprite {
name: "wings-up"
frameWidth: 100
frameHeight: 68
frameCount: 1
source: "bird-wings-up.png"
frameRate: 1
},
Sprite {
name: "crash-into-me"
frameWidth: 100
frameHeight: 68
frameCount: 1
source: "bird-crash-into-me.png"
frameRate: 1
},
Sprite {
name: "explode"
frameWidth: 100
frameHeight: 68
frameCount: 5
source: "bird-explode.png"
frameRate: 10
to: { "invisible" : 1 }
},
Sprite {
name: "invisible"
frameWidth: 1
frameHeight:1
frameCount: 1
source: "../../assets/img/shared/invisible-dot.png"
frameRate: 1
to: { "invisible" : 1 }
}
]
} // SpriteSequence