Explorar el Código

Fait rebondir la balle

DricomDragon hace 11 meses
padre
commit
cc66cb7a10
Se han modificado 1 ficheros con 12 adiciones y 4 borrados
  1. 12 4
      godot/composants/objets/balle/balle.gd

+ 12 - 4
godot/composants/objets/balle/balle.gd

@@ -2,12 +2,20 @@ class_name Balle
 extends CharacterBody2D
 
 
-@export var initial_velocity: Vector2 = Vector2(0.0, 600.0)
+@export var mouvement_initial: Vector2 = Vector2(0.0, 600.0)
+
+var _mouvement: Vector2
 
 
 func _ready() -> void:
-	velocity = initial_velocity
+	_mouvement = mouvement_initial
+
+
+func _physics_process(delta: float):
+	var impact: KinematicCollision2D = move_and_collide(_mouvement * delta)
+	if impact != null:
+		_rebondir(impact)
 
 
-func _physics_process(delta):
-	move_and_collide(velocity * delta)
+func _rebondir(impact: KinematicCollision2D) -> void:
+	_mouvement = _mouvement.bounce(impact.get_normal())