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 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  ...

Get End to End GUI Development with Qt5 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.