瀏覽代碼

Fait rebondir la balle

DricomDragon 11 月之前
父節點
當前提交
cc66cb7a10
共有 1 個文件被更改,包括 12 次插入4 次删除
  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())