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

Get Mastering Qt 5 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.