# De Speler

Misschien wel het allerbelangrijkste aan ieder spel is het karakter van de speler. Dit is dan ook het eerste aspect van het spel waar we aan gaan werken. Voordat we gaan beginnen, maken we nogmaals een kleine tussenstop voor een korte uitleg.

# Scenes en Nodes

Linksbovenin in de interface van Godot zien we de "scene tree".

De lege "scene tree"
De lege "scene tree"

De "scene tree" geeft een overzicht van de verschillende "nodes" in de actieve "scene". Maar wat zijn scenes en nodes?

  • Nodes zijn de basisbouwblokken in Godot. Nodes worden gebruikt om eigenschappen van "dingen" in de spelwereld te beschrijven. Bijvoorbeeld:
    • Hoe de speler er uit ziet.
    • Wat voor geluid de speler maakt tijdens het lopen.
    • Welke karakters en monsters er rond lopen in een gebied.
    • Welke achtergrond muziek er speelt, etc.
  • Scenes zijn groepen van nodes. Deze groepen kunnen eventueel worden hergebruikt. Bijvoorbeeld:
    • De speler
    • Een vijand
    • Een level

Aangezien we een 2D spel aan het maken zijn, zullen we vooral gebruik maken van 2D "nodes".

# Het uiterlijk van de speler

Zoals eerder genoemd kan de speler worden beschreven met behulp van een "scene" welke alle eigenschappen van de speler beschrijft, bijvoorbeeld hoe de speler er uit ziet, welke vorm de speler heeft (zodat er "gebotst" kan worden met andere objecten in de spelwereld), etc.

Elke scene heeft een "root" node waar alle andere eigenschappen aan "bevestigd" worden. Godot heeft heel veel verschillende "nodes" voor verschillende eigenschappen, maar degene die het beste past bij een speler is de CharacterBody2D. Dit "node type" heeft een aantal ingebouwde eigenschappen die het makkelijker maken om gedrag voor de speler te beschrijven.

Om onze "speler scene" te maken voeren we de volgende stappen uit:

  • Klik op Other Node,

    Maak een nieuwe

  • Zoek naar CharacterBody2D in het Create New Node scherm dat verschijnt,

  • Klik op Create.

  • Het hoofdscherm van Godot zal van de 3D view naar de 2D view veranderen.

  • Klik met de rechter muisknop op CharacterBody2D en selecter Rename,

  • Verander de naam naar Speler.

  • Sla de scene op door op Control/Cmd + s te drukken of door op het menu Scene en vervolgens op Save Scene te klikken.

  • Maak een map Scene door op het knopje rechts bovenin te klikken

    Het

  • Maak een map Speler.

  • Klik op Save.

Als alles is goed gegaan zijn in het Filesystem scherm links onderin de mappen Scenes en Speler met daarin een bestand speler.tscn zichtbaar.

De "scene tree" met de Speler scene
De "scene tree" met de Speler scene

Godot waarschuwt ons, door middel van een waarschuwingsbord in de "scene tree", dat onze speler een of meerdere eigenschappen mist. De eerste waarschuwing is dat de speler geen vorm heeft en dus niet kan botsen, "collide" in het Engels, met andere karakters, de omgeving, etc. Om dit te verhelpen kunnen we een "collision shape" toevoegen aan de speler.

Klik op de Speler node in de "scene tree" met de rechter muisknop en selecteer Add Child Node…. Het Create New Node scherm verschijnt weer. Deze keer zoeken we naar CollisionShape2D en klikken op Create. Het waarschuwingsbord verplaatst zich nu naar deze nieuwe "node".

De speler zonder "collision shape"
De speler zonder "collision shape"

Met de CollisionShape2D geselecteerd aan de linkerkant van het scherm, kunnen we aan de rechterkant in de Inspector een "vorm" (of "shape" in het Engels) toekennen. Voor de speler kiezen we voor de CapsuleShape2D.

Een nieuwe "collision shape" kiezen
Een nieuwe "collision shape" kiezen

Nadat we de nieuwe vorm/shape gekozen hebben verschijnt deze in het midden van ons scherm. De groene capsule geeft de "vorm" van onze speler aan. Deze "vorm" kunnen we aanpassen met behulp van de rode cirkels. Maar de speler heeft nog geen uiterlijk en dus is het moeilijk om de juiste vorm te kiezen. Het kiezen van het uiterlijk van de speler wordt de volgende stap.

Indien je nog niet eerder door het Ninja Adventure - Asset Pack hebt gekeken, is dit het moment om een uiterlijk voor de speler te zoeken. Ga naar de Actors / Characters map en bekijk de verschillende opties. De SpriteSheet.png bestanden bevatten alle plaatjes voor de animaties van de verschillende karakters.

Wanneer je je favoriete uiterlijk gevonden hebt, kies je een plaatje uit de SeparateAnim map, bijvoorbeeld Item, en sleep je deze naar het midden van het scherm. Het uiterlijk en de "collision shape" moeten in het midden uitgelijnd zijn.

Nu we een uiterlijk voor onze speler gekozen hebben, kunnen we de "collision shape" de juiste vorm geven door de rode cirkels te verslepen zodat we "collission shape" ongeveer achter de "sprite" verdwijnt.

Een eerste versie van de speler
Een eerste versie van de speler