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

Eredita: Node2D < CanvasItem < Node < Object

Campionatore di punti per un Path2D.

Descrizione

Questo nodo prende il suo Path2D genitore e restituisce le coordinate di un punto al suo interno, data una distanza dal primo vertice.

È utile per far sì che altri nodi seguano un percorso, senza scrivere codice per lo schema di movimento. Per questo, i nodi devono essere figli di questo nodo. I nodi discendenti si muoveranno di conseguenza quando si imposta progress in questo nodo.

Proprietà

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


Descrizioni delle proprietà

bool cubic_interp = true 🔗

  • void set_cubic_interpolation(value: bool)

  • bool get_cubic_interpolation()

Se true, la posizione tra due punti memorizzati nella cache è interpolata in modo cubico, altrimenti linearmente.

I punti lungo la Curve2D del Path2D sono precalcolati prima dell'uso, per calcoli più rapidi. Il punto all'offset richiesto è quindi calcolato interpolando tra due punti adiacenti memorizzati nella cache. Ciò potrebbe rappresentare un problema se la curva effettua svolte brusche, poiché i punti memorizzati nella cache potrebbero non seguire la curva vicino abbastanza.

Ci sono due risposte a questo problema: aumenta il numero di punti memorizzati nella cache, aumentando il consumo di memoria, oppure effettua un'interpolazione cubica tra due punti, a costo di calcoli (leggermente) più lenti.


float h_offset = 0.0 🔗

  • void set_h_offset(value: float)

  • float get_h_offset()

L'offset del nodo lungo la curva.


bool loop = true 🔗

  • void set_loop(value: bool)

  • bool has_loop()

Se true, qualsiasi offset al di fuori della lunghezza del percorso sarà avvolto, invece di fermarsi alle estremità. Usalo per percorsi ciclici.


float progress = 0.0 🔗

  • void set_progress(value: float)

  • float get_progress()

La distanza lungo il percorso, in pixel. La modifica di questo valore imposta la posizione di questo nodo su un punto all'interno del percorso.


float progress_ratio = 0.0 🔗

  • void set_progress_ratio(value: float)

  • float get_progress_ratio()

La distanza lungo il percorso come numero compreso tra 0,0 (per il primo vertice) e 1,0 (per l'ultimo). Questo è solo un altro modo di esprimere il progresso all'interno del percorso, poiché l'offset fornito è moltiplicato internamente per la lunghezza del percorso.

Può essere impostato o ottenuto solo se il PathFollow2D è il figlio di un Path2D che fa parte dell'albero di scene e che questo Path2D ha una Curve2D con una lunghezza diversa da zero. Altrimenti, tentando di impostare questo campo sarà stampato un errore e ottenendo questo campo sarà restituito 0.0.


bool rotates = true 🔗

  • void set_rotates(value: bool)

  • bool is_rotating()

Se true, questo nodo si gira per seguire il percorso, con la direzione +X rivolta in avanti lungo il percorso.


float v_offset = 0.0 🔗

  • void set_v_offset(value: float)

  • float get_v_offset()

L'offset del nodo perpendicolare alla curva.