CAMERA.gd 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. extends Camera2D
  2. # Declare member variables here. Examples:
  3. # var a = 2
  4. # var b = "text"
  5. var hole
  6. var idle_circle
  7. onready var SHIP = find_parent("SHIP")
  8. onready var screen_diagonal = get_viewport().size.length()
  9. var zoom_target = 1.0
  10. var zoom_factor = 1.0
  11. # Called when the node enters the scene tree for the first time.
  12. func _ready():
  13. hole = Circle.new(SHIP.MIN_RADIUS * screen_diagonal)
  14. hole.color = ColorN("black")
  15. hole.invert_enable = true
  16. hole.invert_border = 2000
  17. hole.visible = false
  18. hole.z_index = 4
  19. add_child(hole)
  20. idle_circle = CircleOutline.new(SHIP.MIN_RADIUS * screen_diagonal)
  21. idle_circle.default_color = Color8(255,255,255,100)
  22. idle_circle.width = 3
  23. idle_circle.visible = false
  24. idle_circle.z_index = 3
  25. add_child(idle_circle)
  26. func _process(delta):
  27. if SHIP.mouse_active and Input.is_mouse_button_pressed(1) and not SHIP.gameover:
  28. zoom_target = 2.0
  29. else:
  30. zoom_target = 1.0
  31. zoom_factor += (zoom_target - zoom_factor)*0.1
  32. scale = Vector2.ONE*zoom_factor
  33. zoom = Vector2.ONE*zoom_factor