Assembling your Qt3D entities
We will now proceed to create the building blocks of the game, each in the form of an Entity
element:
Wall
: This represents the limit of where the snake cannot goSnakePart
: This represents a part of the snake's bodyApple
: This represents the apple (no way!) spawned at a random locationBackground
: This represents a good-looking background behind the snake and the apple
Each entity will be placed on a grid handled by the engine and will have a type identifier to make it easier to find. To factorize these properties, let's create a parent QML file named GameEntity.qml
:
import Qt3D.Core 2.0 Entity { property int type: 0 property vector2d gridPosition: Qt.vector2d(0, 0) }
This Entity
element only defines a type
property and a gridPosition
property , which will be used by the engine to lay out the content on the grid.
The first item we will build is the Wall.qml
file:
import Qt3D.Core 2.0 GameEntity { id: root property alias position: transform...