Ver Fonte

Empeche la balle de traverser la raquette et force l'angle

DricomDragon há 1 ano atrás
pai
commit
0657b34f20
1 ficheiros alterados com 7 adições e 2 exclusões
  1. 7 2
      godot/composants/objets/balle/balle.gd

+ 7 - 2
godot/composants/objets/balle/balle.gd

@@ -2,7 +2,8 @@ class_name Balle
 extends CharacterBody2D
 
 
-const ratio_diff_angle = PI * 0.1
+const ratio_diff_angle: float = PI * 0.005 # radian / px
+const ascension_min: float = 10.0 # px / sec
 
 @export var mouvement_initial: Vector2 = Vector2(0.0, 600.0)
 
@@ -28,4 +29,8 @@ func _rebondir(impact: KinematicCollision2D) -> void:
 
 func _orienter_tir(raquette: Raquette) -> void:
 	var difference = position.x - raquette.position.x
-	_mouvement = _mouvement.rotated(-difference * ratio_diff_angle)
+	_mouvement = Vector2.UP.rotated(difference * ratio_diff_angle) * _mouvement.length()
+	
+	# empeche la balle de traverser la raquette
+	if _mouvement.y > 0:
+		_mouvement.y = ascension_min