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.
Checking the stable version of the documentation...
PhysicsBody2D
Eredita: CollisionObject2D < Node2D < CanvasItem < Node < Object
Ereditato da: CharacterBody2D, RigidBody2D, StaticBody2D
Classe di base astratta per gli oggetti di gioco 2D influenzati dalla fisica.
Descrizione
PhysicsBody2D è una classe di base astratta per gli oggetti di gioco 2D influenzati dalla fisica. Tutti i corpi fisici 2D ereditano da essa.
Tutorial
Proprietà
input_pickable |
|
Metodi
void |
add_collision_exception_with(body: Node) |
get_gravity() const |
|
move_and_collide(motion: Vector2, test_only: bool = false, safe_margin: float = 0.08, recovery_as_collision: bool = false) |
|
void |
|
test_move(from: Transform2D, motion: Vector2, collision: KinematicCollision2D = null, safe_margin: float = 0.08, recovery_as_collision: bool = false) |
Descrizioni dei metodi
void add_collision_exception_with(body: Node) 🔗
Aggiunge un corpo alla lista dei corpi con cui questo corpo non può entrare in collisione.
Array[PhysicsBody2D] get_collision_exceptions() 🔗
Restituisce un array di nodi aggiunti come eccezioni di collisione per questo corpo.
Restituisce il vettore di gravità calcolato da tutte le fonti che possono influenzare il corpo, inclusi tutte le sostituzioni di gravità dai nodi Area2D e la gravità del mondo globale.
KinematicCollision2D move_and_collide(motion: Vector2, test_only: bool = false, safe_margin: float = 0.08, recovery_as_collision: bool = false) 🔗
Sposta il corpo lungo il vettore motion. Per essere indipendente dal frame rate in Node._physics_process() o Node._process(), motion deve essere calcolato usando delta.
Restituisce un KinematicCollision2D, che contiene informazioni sulla collisione quando si ferma o quando si scontra con un altro corpo lungo il movimento.
Se test_only è true, il corpo non si muove ma sono restituite le informazioni sulla potenziale collisione.
safe_margin è il margine aggiuntivo usato per il recupero della collisione (vedi CharacterBody2D.safe_margin per maggiori dettagli).
Se recovery_as_collision è true, qualsiasi penetrazione dalla fase di recupero è segnalata come collisione; questo è utilizzato ad esempio da CharacterBody2D per rilevare meglio il pavimento durante l'aggancio sul pavimento.
void remove_collision_exception_with(body: Node) 🔗
Rimuove un corpo dalla lista dei corpi con cui questo corpo non può entrare in collisione.
bool test_move(from: Transform2D, motion: Vector2, collision: KinematicCollision2D = null, safe_margin: float = 0.08, recovery_as_collision: bool = false) 🔗
Controlla le collisioni senza muovere il corpo. Per essere indipendente dal frame rate in Node._physics_process() o Node._process(), motion deve essere calcolato usando delta.
Imposta virtualmente la posizione, la scala e la rotazione del nodo su quelle del Transform2D fornito, quindi prova a muovere il corpo lungo il vettore motion. Restituisce true se una collisione impedirebbe al corpo di muoversi lungo l'intero percorso.
collision è un oggetto facoltativo di tipo KinematicCollision2D, che contiene ulteriori informazioni sulla collisione quando si ferma o quando si scontra con un altro corpo lungo il movimento.
safe_margin è il margine aggiuntivo usato per il recupero della collisione (vedi CharacterBody2D.safe_margin per maggiori dettagli).
Se recovery_as_collision è true, anche qualsiasi penetrazione dalla fase di recupero è segnalata come collisione; ciò è utile per verificare se il corpo si scontrerebbe con altri corpi.