Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

PathFollow2D

Hérite de : Node2D < CanvasItem < Node < Object

Échantillonneur de points pour un Path2D.

Description

Ce nœud prend son parent Path2D, et renvoie les coordonnées d'un point à l'intérieur, selon une distance par rapport au premier sommet.

Il est utile pour faire que d'autres nœuds suivent un chemin, sans coder le motif du mouvement. Pour cela, les nœuds doivent être des enfants de ce nœud. Les nœuds descendants se déplaceront alors en conséquence lorsque progress est défini.

Propriétés

bool

cubic_interp

true

float

h_offset

0.0

bool

loop

true

float

progress

0.0

float

progress_ratio

0.0

bool

rotates

true

float

v_offset

0.0


Descriptions des propriétés

bool cubic_interp = true 🔗

  • void set_cubic_interpolation(value: bool)

  • bool get_cubic_interpolation()

Si true, la position entre deux points mis en cache est interpolée de façon cubique, et linéairement sinon.

Les points le long de la Curve2D du Path2D sont pré-calculés avant utilisation, pour des calculs plus rapides. Le point au décalage demandé est alors calculé en interpolant entre deux points du cache adjacents. Cela peut présenter un problème si la courbe fait des virages aigus, car les points mis en cache peuvent ne pas suivre la courbe d'assez près.

Il y a deux réponses à ce problème : soit augmenter le nombre de points mis en cache et augmenter la consommation de mémoire, soit faire une interpolation cubique entre deux points au coût de calculs (légèrement) plus lents.


float h_offset = 0.0 🔗

  • void set_h_offset(value: float)

  • float get_h_offset()

Le décalage du nœud le long de la courbe.


bool loop = true 🔗

  • void set_loop(value: bool)

  • bool has_loop()

If true, any offset outside the path's length will wrap around, instead of stopping at the ends. Use it for cyclic paths.


float progress = 0.0 🔗

  • void set_progress(value: float)

  • float get_progress()

La distance le long du chemin, en pixels. Changer cette valeur fixe la position de ce nœud à celle d'un point sur le chemin.


float progress_ratio = 0.0 🔗

  • void set_progress_ratio(value: float)

  • float get_progress_ratio()

La distance le long du chemin en tant que nombre dans l'intervalle 0.0 (pour le premier sommet) à 1.0 (pour le dernier). Il s'agit juste d'une autre façon d'exprimer la progression sur le chemin, car le décalage fourni est multiplié en interne par la longueur du chemin.

Elle peut être définie ou obtenue seulement si le PathFollow2D est l'enfant d'un Path2D qui fait partie de l'arborescence de scène, et que ce Path2D a une Curve2D avec une longueur non nulle. Sinon, essayer de définir ce champ affichera une erreur, et obtenir ce champ renverra 0.0.


bool rotates = true 🔗

  • void set_rotates(value: bool)

  • bool is_rotating()

Si true, ce nœud tourne pour suivre le chemin, avec la direction +X vers la direction avant du chemin.


float v_offset = 0.0 🔗

  • void set_v_offset(value: float)

  • float get_v_offset()

Le décalage du nœud perpendiculairement à la courbe.