|
@@ -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
|