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 can go
- SnakePart: This represents a part of the snake's body
- Apple: This represents the apple (no way!) spawned at a random location
- Background: 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...