Time for action – character navigation
Create a new QML document and call it Player.qml. In the document, place the following declarations:
Item {
id: player
y: parent.height
focus: true
Keys.onRightPressed: x = Math.min(x+20, parent.width)
Keys.onLeftPressed: x = Math.max(0, x-20)
Keys.onUpPressed: jump()
function jump() { jumpAnim.start() }
Image {
source: "elephant.png"
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
}
Behavior on x { NumberAnimation { duration: 100 } }
SequentialAnimation on y {
id: jumpAnim
running: false
NumberAnimation { to: player.parent.height-50; easing.type: Easing.OutQuad }
NumberAnimation { to: player.parent.height; easing.type: Easing.InQuad }
}
}Next, open the document containing the main scene definition and declare the player character near the end of the document after all the background layers are declared:
Player {
id: player
x:40
}