Nodul RigidBody2D este administrat direct de motorul fizic integrat din Godot 4, simulând forțe newtoniene reale (gravitație, masă, fricțiune, inerție și recul) fără intervenție manuală asupra coordonatelor spațiale.
extends RigidBody2D
@export var forta_impuls: float = 400.0
func _integrate_forces(state: PhysicsDirectBodyState2D) -> void:
# _integrate_forces este funcția recomandată pentru a modifica direct starea fizică a corpului:
if state.linear_velocity.length() > 800.0:
state.linear_velocity = state.linear_velocity.normalized() * 800.0
func loveste_obiect(directie: Vector2) -> void:
# Aplică un impuls instantaneu în centrul masei:
apply_central_impulse(directie * forta_impuls)
func _on_body_entered(body: Node) -> void:
if body.is_in_group("inamici"):
print("Ciocnire fizică cu un inamic! Viteza la impact:", linear_velocity.length())
Avertisment: Nu modifica proprietatea position a unui RigidBody2D direct în _process; acest lucru anulează simularea fizică. Pentru teleportare folosește state.transform în _integrate_forces.
Întrebări & Exemple de Cod:
RigidBody2D în Godot 4: Simulare Fizică Completă, Impulsuri și ContacteAi o nelămurire despre utilizarea comenzii
RigidBody2D în Godot 4: Simulare Fizică Completă, Impulsuri și Contactesau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.