LevelBG.gd 694 B

12345678910111213141516171819202122232425262728293031323334
  1. extends Node2D
  2. func _enter_tree() -> void:
  3. setup_bg_scrolling()
  4. var repeat_times := 1:
  5. set(value):
  6. if repeat_times != value:
  7. repeat_times = value
  8. update_repeats()
  9. @export var scroll_scale := 0.5
  10. func _process(_delta: float) -> void:
  11. repeat_times = ceil(get_viewport_rect().size.x / 512) + 1
  12. func update_repeats() -> void:
  13. for i in get_children():
  14. if i is Parallax2D:
  15. i.repeat_times = repeat_times
  16. func setup_bg_scrolling() -> void:
  17. var scr_scale = scroll_scale
  18. match Global.parallax_style:
  19. 0:
  20. scr_scale = 1
  21. 1:
  22. scr_scale = scroll_scale
  23. 2:
  24. return
  25. for i in get_children():
  26. if i is Parallax2D:
  27. if i.scroll_scale.x < 1:
  28. i.scroll_scale.x = scr_scale