balle.gd 685 B

1234567891011121314151617181920212223242526272829
  1. class_name Balle
  2. extends CharacterBody2D
  3. @export var mouvement_initial: Vector2 = Vector2(0.0, 600.0)
  4. var _mouvement: Vector2
  5. func _ready() -> void:
  6. _mouvement = mouvement_initial
  7. func _physics_process(delta: float) -> void:
  8. var impact: KinematicCollision2D = move_and_collide(_mouvement * delta)
  9. if impact != null:
  10. _rebondir(impact)
  11. var obstacle: Object = impact.get_collider()
  12. if obstacle is Raquette:
  13. _orienter_tir(obstacle)
  14. func _rebondir(impact: KinematicCollision2D) -> void:
  15. _mouvement = _mouvement.bounce(impact.get_normal())
  16. func _orienter_tir(raquette: Raquette) -> void:
  17. var difference = position.x - raquette.position.x
  18. _mouvement.x += difference