Time for action – animating characters using sprites
Let's wait no further. The task at hand is to replace the manual animation from the previous exercise with a sprite-based animation.
Open the
Player.qml
document, remove the whole image element responsible for displaying the player character:
AnimatedSprite { id: sprite source: "images/walking.png" frameX: 560 frameY: 0 frameWidth: 80 frameHeight: 52 frameCount: 7 frameRate: 10 interpolate: true width: frameWidth height: frameHeight running: player.walking anchors.bottom: parent.bottom anchors.horizontalCenter: parent.horizontalCenter transform: Scale { origin.x: sprite.width/2 xScale: player.facingLeft ? -1 : 1 } }
What just happened?
We have replaced the previous static image with an ever-changing source with a different item. As the Sprite
parameter is not an Item
element but rather a data definition of a sprite, we cannot use it in place of the Image
element. Instead...