4. Platform Mechanics

Implementeer static, moving en falling platforms voor je platformer

Overzicht

In dit hoofdstuk bouw je verschillende soorten platforms voor je platformer. Je leert:

  • Static platforms maken met StaticBody3D

  • Moving platforms met AnimationPlayer

  • Falling platforms die reageren op de player

Static platform scene

Begin met een eenvoudige static platform scene die later als basis dient.

circle-check

Waarom StaticBody3D? Dit is een physics body dat niet beweegt door gravity, maar wel collision heeft met andere bodies - perfect voor platforms.

Platform model toevoegen

circle-check

Scene hierarchy:

CollisionShape3D Toevoegen

Elke physics body heeft een collision shape nodig.

circle-check

Scene hierarchy (updated):

Test de static platform

circle-check

Moving platform

Maak nu een platform dat automatisch heen en weer beweegt. Gebruik AnimationPlayer om de beweging te animeren.

circle-check

Waarom AnimatableBody3D? Dit is een StaticBody3D die wel kan bewegen via animaties en scripts, terwijl physics bodies die erop staan correct meebewegen.

Model en collision toevoegen

circle-check

Scene hierarchy:

AnimationPlayer Toevoegen

circle-check

Scene hierarchy (updated):

Move animatie maken

Maak nu een animatie die het platform heen en weer beweegt.

circle-check

Falling platform

Maak nu een platform dat naar beneden valt wanneer de player erop springt.

circle-check

Model en collision toevoegen

circle-check

Scene hierarchy:

Timer toevoegen

Gebruik een Timer-node om de vertraging te implementeren voordat het platform valt.

circle-check

Scene hierarchy (updated):

RigidBody3D Settings

Je wilt dat het platform pas valt wanneer de player erop staat, niet meteen bij de start.

circle-check

Dit zorgt ervoor dat het platform initieel "bevroren" is en niet valt door gravity.

Activator area toevoegen

Gebruik een Area3D-node om de te detecteren wanneer de speler op het platform komt, zodat je daarna het platform naar beneden laat vallen.

circle-check
circle-check

Scene hierarchy (updated):

Falling platform script

Maak nu een script dat de timer start wanneer de player op het platform komt.

circle-check
circle-info

Waarom twee signals?

  • BodyEntered detecteert wanneer de player het platform raakt

  • Timeout wacht 0.5 seconden voordat het platform valt

  • Dit geeft de player tijd om te realiseren dat het platform gaat vallen

Nodes toewijzen in de editor

Nu moet je de Timer en FallingActivator nodes toewijzen aan het script.

circle-check

Test de platforms

circle-check

Complete scripts

chevron-rightKlik hier voor het volledige FallingPlatform.cs scripthashtag

FallingPlatform.cs

Laatst bijgewerkt