Time for action – revisiting parallax scrolling

We will implement parallax scrolling with a set of layers that move in the direction opposite to the one the player is moving in. Therefore, we will need a definition of the scene and a moving layer.

Create a new QML Document (Qt Quick 2). Call it ParallaxScene.qml. The scene will encompass the whole game "level" and will expose the position of the player to the moving layers. Put the following code in the file:

import QtQuick 2.2

Item {
  id: root
  property int currentPos
  x: -currentPos*(root.width-root.parent.width)/width
}

Then, create another QML Document (Qt Quick 2) and call it ParallaxLayer.qml. Make it contain the following definition:

import QtQuick 2.2 Item { property real factor: 0 x: factor ...

Get Game Programming Using Qt now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.